23:45
Урок 28: Введение в GUI

Курс по программированию на Java

Урок 28: Введение в GUI

Графический интерфейс пользователя (GUI) позволяет создавать визуальные приложения, с которыми пользователи могут взаимодействовать. В Java для создания GUI используется библиотека Swing, которая предоставляет набор компонентов, таких как кнопки, текстовые поля, панели и многое другое. В этом уроке мы рассмотрим основы создания простого окна с использованием Swing.

Создание простого окна

Для создания простого окна в Java используется класс JFrame. Рассмотрим пример создания окна с кнопкой:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SimpleGUI {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Пример GUI");
 frame.setSize(300, 200);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 JPanel panel = new JPanel();
 JButton button = new JButton("Нажми меня");
 panel.add(button);
 
 frame.add(panel);
 frame.setVisible(true);
 }
}

Результат выполнения

Откроется окно с кнопкой "Нажми меня".

Добавление обработчика событий

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class EventHandlingExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Пример обработчика событий");
 frame.setSize(300, 200);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 JPanel panel = new JPanel();
 JButton button = new JButton("Нажми меня");
 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 System.out.println("Кнопка нажата!");
 }
 });
 panel.add(button);
 
 frame.add(panel);
 frame.setVisible(true);
 }
}

Результат выполнения

При нажатии кнопки в консоль будет выведено сообщение "Кнопка нажата!".

Упражнения

Упражнение 1: Создание окна с текстовым полем

Напишите программу, которая создает окно с текстовым полем и кнопкой. При нажатии кнопки в консоль должно выводиться содержимое текстового поля.

Решение:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TextFieldExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Пример с текстовым полем");
 frame.setSize(300, 200);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 JPanel panel = new JPanel();
 JTextField textField = new JTextField(10);
 JButton button = new JButton("Показать текст");
 
 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 System.out.println("Введенный текст: " + textField.getText());
 }
 });
 
 panel.add(textField);
 panel.add(button);
 
 frame.add(panel);
 frame.setVisible(true);
 }
}

Объяснение: Программа создает окно с текстовым полем и кнопкой. При нажатии кнопки в консоль выводится содержимое текстового поля.

Упражнение 2: Создание окна с меткой и кнопкой

Напишите программу, которая создает окно с меткой и кнопкой. При нажатии кнопки текст метки должен изменяться на "Кнопка нажата!".

Решение:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class LabelExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Пример с меткой");
 frame.setSize(300, 200);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
 JPanel panel = new JPanel();
 JLabel label = new JLabel("Нажмите кнопку");
 JButton button = new JButton("Нажми меня");
 
 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 label.setText("Кнопка нажата!");
 }
 });
 
 panel.add(label);
 panel.add(button);
 
 frame.add(panel);
 frame.setVisible(true);
 }
}

Объяснение: Программа создает окно с меткой и кнопкой. При нажатии кнопки текст метки изменяется на "Кнопка нажата!".

Категория: Java | Просмотров: 14 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: