|
их строк
public void setMultipleSelections(boolean v);
}
Процесс создания списка класса List несложен:
List chBackgroundColor;
chBackgroundColor = new List(6, false);
При создании списка вы передаете конструктору количество одновременно
отображаемых строк и флаг разрешения одновременного выбора нескольких строк.
Если значение этого флага равно true, пользователь сможет выбирать из списка
одновременно несколько строк, а если false - только одну строку.
Для наполнения списка вы можете использовать уже знакомый вам метод addItem:
chBackgroundColor.addItem("Yellow");
chBackgroundColor.addItem("Green");
chBackgroundColor.addItem("White");
Список класса List добавляется к окну аплета методом add:
add(chBackgroundColor);
Кратко остановимся на нескольких методах класса List.
Если вы разрешили пользователю выбирать из списка одновременно несколько
элементов, то для получения ссылки на массив выбранных элементов вам пригодятся
методы getSelectedItems и getSelectedIndexes:
public String[] getSelectedItems();
public int[] getSelectedIndexes();
С помощью метода setMultipleSelections вы можете динамически включать или
выключать режим одновременного выбора нескольких элементов.
В некоторых случаях вам может пригодиться метод clear, удаляющий все
элементы из списка:
public void clear();
Методика использования других методов очевидна из краткого описания класса
List, приведенного в этом разделе.
Обработка событий от списка класса List
В отличие от списка класса Choice, для выбора строки (или нескольких строк)
из списка класса List, пользователь должен сделать двойной щелчок левой
клавишей мыши по выделенному элементу (или элементам, если выделено несколько
элементов). При этом событие можно обработать переопределенным методом action,
как мы это делали для списка класса Choice.
Однако список класса List создает события не только при двойном щелчке, но и
при выделении или отмены выделения элементов, сделанном пользователем одинарным
щелчком клавиши мыши. Аплет может перехватывать и обрабатывать такие события,
переопределив метод handleEvent. Пример такой обработки вы найдете в исходных
текстах приложения ListBox.
Приложение ListBox
В окне приложения ListBox мы создали два списка класса List, первый из
которых предназначен для выбора цвета фона, а второй - для выбора цвета
изображения. Размер первого списка достаточен для отображения всех добавленных
в него элементов. Размер второго списка специально сделан меньше, поэтому
справа от него появилась полоса просмотра (рис. 5.10).
Рис. 5.10. Окно приложения ListBox
Если вы будете выделять различные строки списков одинарным щелчком клавиши
мыши, в нижней части окна и строке состояния навигатора (на рисунке не
показана) появятся названия выделенных цветов. Таким образом, аплет отслеживает
выделение элементов этих двух списков, отображая связанные с ним текстовые
строки.
В том случае, если вы сделаете двойной щелчок мышью внутри одного из списков,
соответствующим образом изменится цвет фона или цвет изображения (текстовых
строк и рамки вокруг окна аплета).
Исходные тексты приложения
Файл исходных текстов приложения ListBox приведен в листинге 5.7.
Листинг 5.7. Файл ListBox\ListBox.java
// =========================================================
// Списк
|
|