Списки сгенерируются компонентом Swing Jlist, который всегда занимает фиксированное количество строк на экране. Если вы хотите получить выбранный элемент в поле списка, просто вызовите getSelectedValueslist (), который может создать массив строк с выбранным именем элемента. Компонент JLIST позволяет несколько выборов; Если вы удерживаете клавишу CTRL, вы можете выбрать все нажатые элементы; Если вы выберете элемент, удерживайте клавишу Shift и щелкните другой элемент, то все элементы между двумя элементами выбраны; Чтобы удалить один из выбранного элемента, удерживайте клавишу CTRL и нажмите на элемент.
После инициализации блока списка, затем добавление и изменение контента в поле списка. Он разделен на статические операции и динамические операции.
1. Статическая операция
Статическая операция означает добавление всех элементов в jlist одновременно. После добавления его нельзя изменить или удалить. То есть в списке нельзя управлять во время выполнения программы.
Например
Тест пакета; импорт javax.swing.*; import java.awt.*; import static net.mindview.util.swingconsole.*; Public Class Listtest1 Extends jframe {private String [] str = {«Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Staturday», «Sunday»}; private Jlists Listtest1; Jlist (str); setlayout (new flowlayout ()); add (list);} public static void main (string [] args) {run (new listtest1 (), 200,100);}}Как и в приведенном выше примере, просто добавьте все элементы при инициализации JLIST.
Результат выполнения: в списке нельзя управлять.
2. Динамическая операция
Посмотрев на метод JList, вы можете обнаружить, что JList не несет ответственности за динамическую работу поля списка. Все детали динамической операции могут быть завершены в «Список модели», а именно в списке по умолчанию. Просто добавьте модель списка в jlist.
Defaultlistmodel listmodel = new deffletlistmodel (); listmodel.addelement (element1); // Добавить элементы listmodel.clear (); // Очистить все элементы listmodel.remove (int index); // Очистить элементы в указанной позиции
Например
Пакет -тест; импорт java.awt.*; import java.awt.event.*; import static net.mindview.util.swingconsole.*; import javax.swing.border.border; импорт javax.swing.event.listselectionevent; импорт javax.ving.event.listeselectionlister; {"Monday","Tuesday","Wednesday","Thursday","Friday","Staturday","Sunday"};private JButton button1 = new JButton("Add Item"),button2 = new JButton("Clear Item");private JTextArea text = new JTextArea(str.length,20);private DefaultListModel listmodel = new DefaultListModel();private JList list = new JList (ListModel); // Добавить модель списка в JLIST, модель списка отвечает за завершение динамических операций, а JLIST отвечает за создание списков и многие другие задачи (например, множественный выбор). private int count = 0; private boolean flag = false; public listStest () {text.SetEdable (false); // он используется только для отображения и не может быть отредактировано для (int i = 0; i <4; i ++) {listModel.Addelement (str [count ++]);} buttondEvlieser (new ActionListener () {public actionform oction oction oction oction oction vasfort (in void oction oction oction octionform. e) {if (count <str.length) {listmodel.addelement (str [count ++]);} else {button1.setEnabled (flag); flag = true;}}}); button2.addactionListener (new ActionListener () {public void actionPerformed (actionEvent e) {if (count <str.length) {count restrart). ListModel.clear (); // Нажмите на список элемента списка. ValueChanged (ListSelectionEvent e) {if (e.getValueisAdjusting ()) return; // Если событие обнаружено, чтобы измениться, оно возвращает истину, и последующий оператор не будет выполнен; for(Object item: list.getSelectedValuesList()){text.append(item + "/n");//Convert a List object to Object}//list calls the getSelectedValuesList() method to generate an array of strings with the selected element name}});setLayout(new FlowLayout());Border border = BorderFactory.createMatteBorder(1, 1, 2, 2, Color.red); // добавить пограничный список. Setborder (Border); // Set Border Text.setborder (граница); добавить (button1); добавить (button2); добавить (new jscrollpane (text)); добавить (список);} public static void main (string [] args) {run (new listtest (), 250,375);Результаты исполнения:
В вышеупомянутой программе метод getValueisAdjusting () () метод событий списка SelectectionEvent, поддерживаемый JList и метод getSelectedValueslist () JLIST используется в процессе обработки JList. Обратите внимание на использование этих двух методов.
(1) Boolean javax.swing.event.listselectionevent.getValueisAdjusting ()
Возвращает, является ли это событие одним из нескольких разных событий, которые все еще меняются, и возвращает True, если это событие является одним из нескольких разных событий, которые все еще меняются.
Например, для события, которое выбирает для обновления в ответ на перетаскивание пользователя, это свойство установлено в True в начале сопротивления; и установлен на ложном в конце сопротивления. Во время перетаскивания слушатель получает событие, в котором свойство ValueSustding установлено на True. В конце сопротивления, когда изменение заканчивается, слушатель получает событие со значением, установленным false.
Если вы удалите оператор обнаружения обновления из программы регистрации объекта JList:
if (e.getValueisAdjusting ()) возврат;
Вывод:
Видно, что нет обнаружения обновлений, и после выбора элемента блока списка есть повторяющийся выход.
(2) Перечислите javax.swing.jlist.getSelectedValueslist ()
Объект JLIST вызывает метод GetSelectedValuesList () для создания массива строк с выбранным именем элемента.
3. Jlist Scrollbar
JList не обеспечивает прямой поддержки для прокрутки, мы просто заводим JList в JScrollPane, он автоматически поможет со всеми деталями.
Резюме: если вы хотите добавить элементы в JList, вы можете выполнить статические операции, которые добавляют все элементы при инициализировании JLIST, или вы можете использовать «Модель списка» DeflectListmodel для обработки динамических операций всех сведений о модификации списка.
Примечание. Обнаружение может использоваться во время выбора элементов JList для обеспечения стабильности программы.
Выше приведено в списке коробки графического пользовательского интерфейса Java, представленного вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!