23:46
Урок 29: Создание простых оконных приложений

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

Урок 29: Создание простых оконных приложений

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

Создание основного окна

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

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

public class SimpleWindow {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Простое оконное приложение");
 frame.setSize(400, 300);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 JPanel panel = new JPanel();
 JLabel label = new JLabel("Введите текст:");
 JTextField textField = new JTextField(20);
 JButton button = new JButton("Отправить");

 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 System.out.println("Введенный текст: " + textField.getText());
 }
 });

 panel.add(label);
 panel.add(textField);
 panel.add(button);
 frame.add(panel);

 frame.setVisible(true);
 }
}

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

Откроется окно с меткой "Введите текст:", текстовым полем и кнопкой "Отправить". При нажатии на кнопку введенный текст будет выведен в консоль.

Добавление дополнительных компонентов

Вы можете добавлять различные компоненты в ваше окно, такие как переключатели, флажки и списки. Пример добавления флажка:

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

public class CheckboxExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Пример с флажком");
 frame.setSize(400, 300);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 JPanel panel = new JPanel();
 JLabel label = new JLabel("Введите текст:");
 JTextField textField = new JTextField(20);
 JCheckBox checkBox = new JCheckBox("Согласен с условиями");
 JButton button = new JButton("Отправить");

 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 if (checkBox.isSelected()) {
 System.out.println("Введенный текст: " + textField.getText());
 } else {
 System.out.println("Вы должны согласиться с условиями");
 }
 }
 });

 panel.add(label);
 panel.add(textField);
 panel.add(checkBox);
 panel.add(button);
 frame.add(panel);

 frame.setVisible(true);
 }
}

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

Откроется окно с меткой "Введите текст:", текстовым полем, флажком и кнопкой "Отправить". При нажатии на кнопку текст будет выведен в консоль, только если установлен флажок "Согласен с условиями".

Упражнения

Упражнение 1: Окно с двумя кнопками

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

Решение:

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 ShowHideExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Окно с двумя кнопками");
 frame.setSize(400, 300);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 JPanel panel = new JPanel();
 JLabel label = new JLabel("Привет!");
 label.setVisible(false); // Изначально метка скрыта
 JButton showButton = new JButton("Показать");
 JButton hideButton = new JButton("Скрыть");

 showButton.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 label.setVisible(true);
 }
 });

 hideButton.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 label.setVisible(false);
 }
 });

 panel.add(showButton);
 panel.add(hideButton);
 panel.add(label);
 frame.add(panel);

 frame.setVisible(true);
 }
}

Объяснение: Программа создает окно с двумя кнопками "Показать" и "Скрыть". При нажатии на кнопку "Показать" метка "Привет!" становится видимой, а при нажатии на кнопку "Скрыть" — скрывается.

Упражнение 2: Окно с переключателем

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

Решение:

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

public class RadioButtonExample {
 public static void main(String[] args) {
 JFrame frame = new JFrame("Окно с переключателем");
 frame.setSize(400, 300);
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 JPanel panel = new JPanel();
 JLabel label = new JLabel("Выбрано: Нет");
 JRadioButton radioButton = new JRadioButton("Выбрать");
 JButton button = new JButton("Проверить");

 button.addActionListener(new ActionListener() {
 @Override
 public void actionPerformed(ActionEvent e) {
 if (radioButton.isSelected()) {
 label.setText("Выбрано: Да");
 } else {
 label.setText("Выбрано: Нет");
 }
 }
 });

 panel.add(radioButton);
 panel.add(button);
 panel.add(label);
 frame.add(panel);

 frame.setVisible(true);
 }
}

Объяснение: Программа создает окно с переключателем и кнопкой "Проверить". При нажатии кнопки выводится информация о состоянии переключателя (выбран или нет).

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