W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
JList< T> 是一個Swing組件,顯示一個選項列表,讓我們選擇一個或多個選項。
類型參數(shù)T是它包含的元素的類型。
JList可以在屏幕上顯示多個選項。
下面的代碼使用數(shù)組創(chuàng)建一個JList
String[] items = new String[]{"Spring", "Summer", "Fall", "Winter"}; JList<String> list = new JList<>(items);
下面的代碼使用Vector創(chuàng)建一個JList
Vector<String> items2 = new Vector<>(4); items2.add("Spring"); items2.add("Summer"); items2.add("Fall"); items2.add("Winter"); JList<String> list2 = new JList<>(items2);
要啟用在JList上滾動,將它添加到JScrollPane,并將JScrollPane添加到容器。
myContainer.add(new JScrollPane(myJList));
我們可以通過三種方式配置JList的方向:
我們可以使用setVisibleRowCount(int visibleRows)方法設(shè)置我們希望在列表中看到的可見行數(shù),而不需要滾動。
我們可以使用setLayoutOrientation(int orientation)方法設(shè)置其布局方向,其中方向值可以是JList類中定義的三個常量之一:
我們可以使用其setSelectionMode(int mode)方法配置JList的選擇模式。
mode值可以是在ListSelectionModel接口中定義為常量的以下三個值之一。
在單一選擇模式下,我們一次只能選擇一個項目。
在單個間隔選擇模式下,我們可以選擇多個項目。 但是,所選項目必須始終為連續(xù)的。我們可以使用Ctrl鍵或Shift鍵和鼠標(biāo)組合進行連續(xù)選擇。
在多重間隔部分,我們可以選擇多個項目沒有任何限制。
為了處理列表選擇事件,我們可以向JList添加列表選擇監(jiān)聽器,當(dāng)選擇被改變時,它將通知我們。
更改選擇時,將調(diào)用ListSelectionListener的valueChanged()方法。 該方法也可以在一次選擇改變的中間被多次調(diào)用。
我們使用getValueIsAdjusting()方法ListSelectionEvent對象,以確保選擇更改已完成。
myJList.addListSelectionListener((ListSelectionEvent e) -> { // Make sure selection change is final if (!e.getValueIsAdjusting()) { } });
要知道JList中的選擇數(shù),請調(diào)用其模型的getSize()方法。
int size = myJList.getModel().getSize();
下表列出了JList類的常用方法
ID | 方法/說明 |
---|---|
1 | void clearSelection()清除在JList中進行的選擇。 |
2 | void ensureIndexIsVisible(int index)確保指定索引處的項目可見。 |
3 | int get First VisibleIndex()返回最小的可見索引。 如果沒有可見項目或列表為空,則返回-1。 |
4 | int get First VisibleIndex()返回最小的可見索引。 如果沒有可見項目或列表為空,則返回-1。... |
5 | int getsMaxSelectionIndex()返回最大的選定索引。 如果沒有選擇,則返回-1。 |
6 | int getsMaxSelectionIndex()返回最大的選定索引。 如果沒有選擇,則返回-1。... |
7 | int getSelectedIndex()返回最小的選定索引。 如果JList選擇模式是單選,它返回所選的索引。 如果沒有,則返回-1選擇。 |
8 | int getSelectedIndex()返回最小的選定索引。 如果JList選擇模式是單選,它返回所選的索引。 如果沒有,則返回-1選擇。... |
9 | E getSelectedValue()返回第一個選定的項目。 如果JList具有單選選擇模式,則它是所選項的值。 如果JList中沒有選擇,則返回null。 |
10 | E getSelectedValue()返回第一個選定的項目。 如果JList具有單選選擇模式,則它是所選項的值。 如果JList中沒有選擇,則返回null。... |
11 | boolean isSelectedIndex(int index)如果選擇了指定的索引,則返回true。 否則,它返回false。 |
12 | boolean isSelectedIndex(int index)如果選擇了指定的索引,則返回true。 否則,它返回false。... |
13 | void setListData(E [] listData)void setListData(Vector listData)在JList中設(shè)置新的選擇列表。 |
14 | void setListData(E [] listData)void setListData(Vector listData)在JList中設(shè)置新的選擇列表。... |
15 | void setSelectedIndices(int [] indices)在指定數(shù)組中的索引處選擇項目 |
16 | void setSelectedValue(Object item,boolean shouldScroll)如果指定的項目存在于列表中,則選擇該項目。 如果第二個參數(shù)為true,滾動到該項目以使其可見。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: