События
Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при двойном щелчке кнопкой мыши на выбранном пункте происходит событие ActionEvent.
В листинге 10.2 задаются компоненты, аналогичные компонентам листинга 10.1, с помощью классов choice и List, а рис. 10.2 показывает, как изменится при этом интерфейс.
Листинг 10.2. Использование списков
import j ava.awt.*;
import j ava.awt.event.*;
class ListTest extends Frame{
ListTest(String s){ super(s);
setLayout(null);
setFont(new Font("Serif", Font.BOLD, 15));
Label 11 = new Label("Выберите товар:", Label.CENTER);
l1.setBoundsdO, 50, 120, 30); add (11);
Label 12 = new Label("Выберите способ оплаты:");
12.setBounds(170, 50, 200, 30); add(12);
List 1 = new List(2, true);
l.add("Книги");
l.add("Диски");
l.add("Игрушки");
l.setBounds(20, 90, 100, 40); add(l);
Choice ch = new Choice();
ch.add("Почтовым переводом");
ch.add("Кредитной картой");
ch.setBounds(17О, 90, 200,30); add(ch);
Button bl = new Button("Продолжить");
bl.setBounds( 30, 150, 100, 30); add(bl);
Button b2 = new Button("Отменить");
Ь2.setBounds(140, 150, 100, 30); add(b2);
Button b3 = new Button("Выйти");
ЬЗ.setBounds(250, 150, 100, 30); add(b3);
setSize(400, 200); setVisible(true);
}
public static void main(StringH args){
Frame f = new ListTest(" Простые компоненты");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
}
}
Рис. 10.2. Использование списков