Обработка вложенным классом
Листинг 12.3. Обработка вложенным классом
import Java.awt.*;
import j ava.awt.event.*;
class MyNotebook extends Frame{ private TextField tf;
private TextArea ta;
MyNotebook(String title){
super(title);
tf = new TextField("Вводите текст", 50);
add(tf, BorderLayout.NORTH);
ta = new TextArea();
ta.setEditable(false);
add (tab-Panel p = new Panel();
add(p, BorderLayout.SOUTH);
Button b = new Button("Перенести");
p.add(b);
tf.addActionListener(new TextMove());
b.addActionListener(new TextMove());
setSizepOO, 200);
setVisible(true);
}
public static void main(String[] args){
Frame f = new MyNotebook(" Обработка ActionEvent");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit (0);
}
});
}
// Вложенный класс
class TextMove implements ActionListener{
public void actionPerformed(ActionEvent ae){
ta.appendftf.getText()+"\n");
}
}
}
Наконец, можно создать безымянный вложенный класс, что мы и делали в этой и предыдущих главах, обрабатывая нажатие комбинации клавиш <Alt>
+<F4>
или щелчок кнопкой мыши по кнопке закрытия окна. При этом возникает событие типа windowEvent, для его обработки мы обращались к методу windowciosingo, реализуя его обращением к методу завершения приложения'System.exit (0). Но для этого нужно иметь суперкласс определяемого безымянного класса, такой как windowAdapter. Такими суперклассами могут быть классы-адаптеры, о них речь пойдет чуть ниже.
Перейдем к детальному рассмотрению разных типов событий.