Читаем Java 7 полностью

Затем методом add(string text) в список добавляются новые пункты с текстом text. Они располагаются в порядке написания методов add () и нумеруются от нуля.

Вставить новый пункт в нужное место можно методом insert(String text, int position). Выбор пункта можно произвести из программы методом select(String text) или

select(int position).

Удаление одного пункта из списка выполняется методом remove(String text) или

remove (int position), а всех пунктов сразу-методом removeAll().

Число пунктов в списке можно узнать методом getItemCount ( ).

Выяснить, какой пункт находится в позиции pos, можно методом getItem(int pos), возвращающим строку.

Наконец, определение выбранного пункта производится методом getSelectedIndex( ), возвращающим позицию этого пункта, или методом getSelectedItem(), возвращающим выделенную строку.

События

В классе Choice происходят события класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, а при выборе пункта возникает событие ItemEvent.

Список List

Если надо показать на экране несколько пунктов списка, то создайте объект класса List.

Компонент List - это список с линейкой прокрутки, в котором можно выделить один или несколько пунктов. Количество видимых на экране пунктов определяется конструктором списка и размером компонента.

В классе три конструктора:

□ List() — создает пустой список с четырьмя видимыми пунктами;

□ List ( int rows ) -создает пустой список с rows видимыми пунктами;

□ List (int rows, boolean multiple) - создает пустой список, в котором можно отме

тить несколько пунктов, если multiple == true.

После создания объекта в список добавляются пункты с текстом item:

□ метод add (string item) — добавляет новый пункт в конец списка;

□ метод add ( String item, int position) -добавляет новый пункт в позицию position.

Позиции нумеруются по порядку, начиная с нуля.

Удалить пункт можно методами remove(String item), remove(int position), removeAll().

Метод replaceItem(String newItem, int pos)позволяет заменить текст пункта в позиции

pos.

Количество пунктов в списке возвращает метод getItemCount ( ).

Выделенный пункт можно получить методом getSelectedItem(), а его позицию — методом getSelectedIndex().

Если список позволяет осуществить множественный выбор, то выделенные пункты в виде массива типа String[] можно получить методом getSelectedItems(), а позиции выделенных пунктов в виде массива типа int [ ] -методом getSelectedIndexes ( ).

Кроме этих необходимых методов класс List содержит множество других, позволяющих манипулировать пунктами списка и получать его характеристики.

СобытияКроме событий класса Component — ComponentEvent, FocusEvent, KeyEvent, MouseEvent — при двойном щелчке кнопкой мыши на выбранном пункте происходит событие ActionEvent.В листинге 10.2 с помощью классов Choice и List задаются компоненты, аналогичные компонентам листинга 10.1, а рис. 10.2 показывает, как изменится при этом интерфейс.

Листинг 10.2. Использование списков

import java.awt.*; import java.awt.event.*;

class ListTest extends Frame{

ListTest(String s){ super(s); setLayout(null);

setFont(new Font("Serif", Font.BOLD, 15));

Label l1 = new Label("Выберите товар:", Label.CENTER); l1.setBounds(10, 50, 120, 30); add(l1);

Label l2 = new Label("Выберите способ оплаты:");

l2.setBounds(170, 50, 200, 30); add(l2);

List l = 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(170, 90, 200,30); add(ch);

Button b1 = new Button("Продолжить"); b1.setBounds( 30, 150, 100, 30); add(b1);

Button b2 = new Button("Отменить");

b2.setBounds(140, 150, 100, 30); add(b2);

Button b3 = new ButtonC^bM™"); b3.setBounds(250, 150, 100, 30); add(b3);

setSize(400, 200); setVisible(true);

}

public static void main(String[] args){

Frame f = new ListTest(" Простые компоненты"); f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev){

System.exit(0);

}

});

}

Рис. 10.2. Использование списков

Компоненты для ввода текста

В библиотеке AWT есть два компонента для ввода текста с клавиатуры: компонент TextField, позволяющий ввести только одну строку, и компонент TextArea, в который можно ввести множество строк.

Оба класса расширяют класс Textcomponent, в котором собраны их общие методы, такие как выделение текста, позиционирование курсора, получение текста.

Класс TextComponent

В классе Textcomponent нет конструктора, этот класс не используется самостоятельно.

Основной метод класса — getText () — возвращает в виде строки string текст, находящийся в поле ввода.

Поле ввода может быть нередактируемым, в этом состоянии текст в поле нельзя изменить с клавиатуры или мышью. Узнать состояние поля можно логическим методом

isEditable ( ), изменить значения в нем — методом setEditable(boolean editable).

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных