Java -практика использования



             

Листинг 12 1 Обработка события ActionEvent



Листинг 12.1. Обработка события ActionEvent 

import j ava.awt.*;

impo rt j ava.awt.event.*;

class MyNotebook extends Frame{ 

MyNotebook(String title) {

super(title);

TextField tf = new TextField("Вводите текст", 50); 

add(tf, BorderLayout.NORTH);

TextArea ta = new TextArea(); 

ta.setEditable(false); 

add(ta);

Panel p = new Panel(); 

add(p, BorderLayout.SOUTH);

Button b = new Button("Перенести"); 

p.add(b);

tf.addActionListener(new TextMove(tf, ta)); 

b.addActionListener(new TextMove(tf, ta));

setSize(300, 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); 

}

}); 

}

// Текст класса TextMove 

// ...

На Рисунок 12.2 показан результат работы с этой программой.

В листинге 12.1 в методах addActionListener() создаются два экземпляра класса TextMove — для прослушивания поля tf и для прослушивания кнопки ь. Можно создать один экземпляр класса TextMove, он будет прослушивать оба компонента:

TextMove tml = new TextMove(tf, ta); 

tf.addActionListener(tml); 

b.addActionListener(tml);

Но в первом случае экземпляры создаются после наступления события в соответствующем компоненте, а во втором — независимо от того, наступило событие или нет, что приводит к расходу памяти, даже если событие не произошло. Решайте сами, что лучше.









Содержание  Назад  Вперед