субота, 7 липня 2012 р.

Робота з графічним інтерфейсом користувача 2

Надписи на кнопках


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ExtEventHandler extends JFrame {
ExtEventHandler(String s){
super(s);
setLayout(null);
setSize(100,200);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Button b1 = new Button("Первая кнопка");
b1.setBounds(2, 5, 96, 22);
add(b1);
Button b2 = new Button("Вторая кнопка");
b2.setBounds(2, 100, 96, 22);
add(b2);
b1.addActionListener(new Handler(b1, b2));
b2.addActionListener(new Handler(b1, b2));
}
public static void main(String[] args) {
new ExtEventHandler("");
}
}
class Handler implements ActionListener{
private Button ba;
private Button bb;
String temp;
Handler(Button b1, Button b2){
this.ba=b1;
this.bb=b2;
}
public void actionPerformed(ActionEvent e) {
temp = ba.getLabel();
ba.setLabel(bb.getLabel());
bb.setLabel(temp);
}

}

У класі ExtEventHandler (04-24) наводиться основний опис інтерфейсу користувача : форма розміром 100x200 і дві кнопки з написами: перша кнопка (12-14) і друга кнопка (15-17).
У додатку для обробки подій, які виникають при натисненні на кнопки, описаний окремий клас Handler (25-38), який використовує інтерфейс ActionListener.
Оскільки в описі ActionListener не можна безпосередньо використати компоненти, описані в конструкторі класу ExtEventHandler то треба створити посилання на об'єкти, які будуть використані. Створення посилальних об'єктів робиться в рядках 26, 27, а самі посилання створюються в конструкторі (30, 31). Коли посилання готові, в процесі додавання слухачів (18, 19), в параметрах вказуємо імена реальних компонентів.

Немає коментарів:

Дописати коментар