События
Кроме событий класса 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. Использование списков