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