Вы здесь: Главная >> Java-самоучитель >> Списки в Java
Списки в Java
Списки
Рассмотрим работу со списками. Есть два вида списков: обычный (List из пакета java. awt в секции AWT и JList из пакета javax. swing в секции Swing) и раскрывающийся (Choice из пакета java. awt в секции AWT и JComboBox из пакета javax. swing в секции Swing).
Обычные списки предоставляют пользователю множественный выбор. Раскрывающийся список из Swing-компонентов может предоставить пользователю ввод иного значения (если значение свойства Editable равно true). Разберем работу со списками из пакета javax. swing на примере.
1. Создайте приложение с именем проекта Text field и заголовком "Шрифты текста".
2. Измените компоновку на XYLayout.
3. Добавьте компонент JEditorPane, изменив значение свойства Text на "".
4. Добавьте четыре компонента JLabel со значениями свойства Text: "Шрифт", "Размер", "Стиль" и "Цвет".
5. Добавьте три компонента JComboBox: первый будет предназначен для выбора шрифта, второй — для выбора размера (можно установить для свойства Editable значение true, если вы будете уверены, что пользователь созданной вами программы введет целое число), третий — для выбора стиля.
6. Добавьте компонент JList, с помощью которого пользователь будет выбирать цвет.
7. Добавьте после объявления компонентов следующий код.
private String fontName = "Arial";
private int size = 14, style = 0;
private Font textFont = new Font(fontName, style, size);8. Добавьте в конец конструктора код, представленный в листинге 8.10. Он предназначен для задания элементов выбора в раскрывающихся списках (с помощью метода addItem (Object)) и устанавливает начальный элемент (с помощью метода setSelecteditem (Object)). Также он задает элементы обычного списка, которые описываются в виде массива объектов String. В данном коде также создается экземпляр класса Color. В параметрах, которые приводятся при создании этого объекта, указывается красный, зеленый и синий оттенки (в значениях от 0 до 255).
Листинг 8.10.
Создание списков9. Создайте для раскрывающихся списков обработчики события actionPerformed и реализуйте их так, как показано в листинге 8.1 Они будут выполняться при изменении выбранного элемента списка.
Листинг 8.11.
Обработчики событий списков10. Теперь создайте для обычного списка обработчик события valueChanged, который будет вызываться при изменении выбранного элемента, и реализуйте его так, как показано в листинге 8.12.
Листинг 8.12.
Обработчик события valueChanged
При работе этой программы, какой элемент массива мы выберем, таким и будет цвет текста. Одно из возможных состояний нашего редактора показано на рис. 8.12.
Рис. 8.12. Результат выполнения листинга 8.12
Резюме
1. Существуют два типа графических компонентов: из пакета javax. swing и из пакета java. awt.
2. Мы рассмотрели работу с кнопками, флажками, переключателями, меню, текстовыми компонентами, ползунком, индикатором и списками.
Вопросы
1. Какие библиотеки графических компонентов имеются в JBuilder?
2. Какие компоненты для работы с кнопками представлены в JBuilder?
3. Какие компоненты для работы с текстом имеются в редакторе?
4. Для чего нужен компонент JSlider?
5. Для чего нужен компонент Choice?
Контрольные упражнения
1. Напишите программу для посетителя магазина канцтоваров, с помощью которой покупатель мог бы, выбрав нужные ему товары, узнать общую стоимость покупки.
2. Напишите программу, которая бы содержала текстовое поле и с помощью раскрывающегося списка выбирала бы цвет для текста и курсора.
Сергей Владимирцев
07.03.2011