Посмотрим, как можно добавить к созданному ранее окну кнопку с обработчиком.
Наша кнопка будет экземпляром класса 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);
}
}
Логика нашей программы такая - создаем в главном окне контейнер, создаем кнопку, добавляем ее к контейнеру, добавляем обработчик для кнопки.
После запуска и компиляции и нажатия на кнопку наша программа будет выглядеть так:
Обратите внимание, что заголовок окна изменился - наш обработчик для кнопки действует!