Swing: добавляем кнопку с обработчиком

 

Посмотрим, как можно добавить к созданному ранее окну кнопку с обработчиком.

 

Наша кнопка будет экземпляром класса JButton. Вообще схема работы с элементами управления такая - сначала мы создаем контейнер для различных элементов управления, а потом созданные элементы добавляем к этому контейнеру.

 

Вот полный текст нашей программы:

package progs;

// Импортируем нужные пространства имен.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

// Класс основного окна программы.

public class MyFrame

extends JFrame {

// Переменная для кнопки.

public JButton button;

// Конструктор.

public MyFrame(){

// Устанавливаем размеры и расположение.

setLocation(400, 200);

setSize(200, 200);

setTitle("Title");

// Задаем контейнер для компонентов.

Container con = getContentPane();

con.setLayout(new FlowLayout());

 

// Создание кнопки.

button = new JButton("Press me");

// Добавление кнопки к контейнеру.

con.add(button);

// Добавление обработчика для кнопки.

button.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

// Изменение заголовка окна.

setTitle("New Title");

}

});

}

 

public static void main(String[] args) {

// Создание главного окна.

new MyFrame().setVisible(true);

}

}

 

Логика нашей программы такая - создаем в главном окне контейнер, создаем кнопку, добавляем ее к контейнеру, добавляем обработчик для кнопки.

 

После запуска и компиляции и нажатия на кнопку наша программа будет выглядеть так:

 

 

Обратите внимание, что заголовок окна изменился - наш обработчик для кнопки действует!