Процес розробки простий gui програми на мові java

Основи програмування GUI на мові Java. Урок 1.

У цій короткій статті хочу описати процес створення невеликої програми, що підтримує GUI на мові Java. Передбачається, що Новомосковсктель знайомий з основами мови Java.

І так, які інструменти нам необхідні:

  • Java Virtual Machine (OpenJDK або Oracle JDK)
  • Intellij IDEA (або інше IDE для Java)

Після установки необхідного софта, відкриваємо Intellij IDEA і створюємо новий проект: File -> New Project ...

Процес розробки простий gui програми на мові java

Я назвав проект guiBase. Як видно на скрині, папка src не містить нічого, тому створюємо в ній наш головний клас, що містить функцію main.

Содеражніе головного класу бачите вище. Ми вже зараз можемо створити проект (Build project) і запустити його (Run). Внизу в терміналі вашого IDE ви побачите повідомлення "Hello, Govzalla!". Але як ви самі зрозуміли - GUI він не підтримує.

На даному етапі у нас вже є працююча програма, але без підтримки GUI. А зараз в тій же папці src створимо GUI Form. New -> GUI Form

Процес розробки простий gui програми на мові java

Відкриваємо створену GUI форму, натискаємо на JPanel і задаємо його ідентифікатор в поле field name. я задав panel.

Після чого перетягуємо на форму з правого боку JTextField. JPasswordField і JButton:

Процес розробки простий gui програми на мові java

Залишилося додати код і зв'язати нашу форму з ним. Коли ми додавали форму MainWindow. автоматично створився і клас MainWindow. цей клас є класом створеної форми, тобто саме цей клас буде обслуговувати всі події даної форми.

Процес розробки простий gui програми на мові java

Хоча клас нашого вікна містить необхідні елементи, але навіть зараз він не має нічого спільного з GUI, тому розширимо його за допомогою JFrame і успадкуємо всю основну і необхідну функціональність GUI.

Якщо спробуєте запустити код, ви знову побачите те ж саме повідомлення "Hello, Govzalla!". Справа в тому, що ми створили клас і форму до нього, але не створили інстанцію цього класу.

Прийшов час змінити файл Main.java і додати туди код створення нашого GUI:

Процес розробки простий gui програми на мові java

Натиснувши на кнопку Button ви помітите, що програма ніяк не реагує. Справа в тому, що ми ще не додали слухач (Listener) для подій (Events) кнопки Button.

Слухач подій (Event listener) JButton повинен бути імплентаціей адаптера ActionListener. тому додамо наступний код в тіло класу MainWindow:

Метод actionPerformed () буде обробляти всі події кнопки button1, але для початку ще необхідно вказати кнопці button1 який клас буде обробляти, тому додамо наступний код в конструктор класу MainWIndow:
this.button1.addActionListener (new MyButtonListener ());
Щоб наш обробник ні безглуздим додамо наступний код в метод actionPerformed ():

Зараз вже програма буде правильно реагувати на події, що не на всі події, звичайно. Наприклад, якщо спробувати відключити програму натиснувши на хрестик, вікно зникне, але програма все ще буде працювати, тому що не додано обробник подій головного вікна.