#20 – Построение ПК приложений. Java Swing JFrame

#20 – Построение ПК приложений. Java Swing JFrame

До этого мы создавали лишь консольные проекты. В ходе урока мы разработаем полноценное приложение, что будет содержать различные объекты, по типу: кнопок, надписей, полей и так далее. Мы создадим программу под ПК на основе библиотеки Java Swing.

Видеоурок

Для создания графического интерфейса на Java существует несколько библиотек. Мы с вами рассмотрим библиотеку Swing, которая является одной из самых популярных библиотек и позволяет создавать полноценные оконные приложения на языке Java.


Создание приложения

Создание нового окна необходимо делать в отдельных файлах, а в основном классе лишь запускать нужное окно. Поэтому, изначально создайте файл и назовите его: SimpleGUI.


Для работы с библиотекой необходимо импортировать классы, что позволят не только создавать графический дизайн, но также отслеживать различные нажатия на кнопки и выполнять действия после нажатия.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Чтобы работать со многими методами, наш основной класс должен наследовать всё от класса с названием JFrame.


После выполнения наследования мы можем иметь доступ к классам для создания полей, кнопок и прочих элементов. Существует множество специализированных классов, рассмотрим наиболее популярные из них:


  • JLabel - класс для создания объекта с надписью; 
  • JTextField - класс для создания текстового поля; 
  • JButton - класс для создания кнопки; 
  • JCheckBox - класс для создания кнопки-галочки;
  • JRadioButton - класс для создания кнопок выбора.



Разработка проекта

В Swing используются контейнеры «Container» для группировки нескольких элементов в одну форму. Перед созданием контейнера необходимо установить: название окна, его размеры и координаты (x, y, w, h), а также установили операцию при закрытии окна.


Далее создается объект на основе класса Container и прописывается метод getContentPane (). Данный метод возвращает контейнер верхнего уровня, в который помещаются все остальные объекты на окне.


Для размещения объектов стоит выбрать какой-либо слой. В уроке был использован слой GridLayout, что позволяет располагать объекты в формате сетки или же таблицы.


Добавление элементов

После создания контейнера и основного слоя, можно добавлять элементы. Все элементы создаются на основе классов, что были рассмотрены в самом начале: JLabel, JButton и так далее. Чтобы добавить элемент в контейнер используется метод add, а в качестве параметра выступает элемент, что добавляется.


Для создания выбора между radio кнопками необходимо объединить их в общую группу, таким образом переключаясь между ними они будут работать корректно.


Для отслеживания событий используется интерфейс «ActionListener». Создаем класс с реализацией интерфейса и выполняем обработку действий пользователя:

class ButtonEventListener implements ActionListener {
	public void actionPerformed (ActionEvent e) {

	}
}

Внутри метода «actionPerformed» (действие выполнено) прописывается любой код, что должен сработать по нажатию на кнопку. 


В программе что мы создавали мы прописали получение данных из полей формы и вывод данных в новом окне. Чтобы взять данные из поля необходимо использовать метод «getText» для нужного вам поля: input.getText().


Для создания всплывающего окна мы использовали класс «JOptionPane», в который поместили: объект, сообщение, название и тип диалогового окна.


Остается все это вызвать с основного класса. В основном классе мы создаем объект на основе класса, что мы создавали и вызываем метод для отображения окна с параметром true: app.setVisible(true).

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Доступные элементы

Назовите все самые популярные и часто используемые элементы в Java Swing. Расскажите за что отвечает каждый из них.

Посмотреть ответ

Существует несколько часто востребованных кнопок и элементов:

  • JLabel - класс для создания объекта с надписью; 
  • JTextField - класс для создания текстового поля; 
  • JButton - класс для создания кнопки; 
  • JCheckBox - класс для создания кнопки-галочки;
  • JRadioButton - класс для создания кнопок выбора.

Получить остальные домашние задания можно после подписки на проект

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Изучение React JS / Redux библиотеки
9 уроков
Курс по React JS для начинающих
11 уроков
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроков
Изучение библиотек jQuery
24 урока
Уроки Angular для начинающих
7 уроков
Изучение JavaScript для начинающих!
15 уроков
Комментарии
Добавить комментарий

Пока комментариев нет