Java中怎么利用Swing實現一個JList列表框,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
JList 常用構造方法:
/** * 一個 JList 實例維護這一個 ListModel 實例。 * ListModel 實例可以直接創建,也可以通過把 數組 或 集合 傳遞到 JList 中間接創建。 */JList()JList(ListModel dataModel)JList(Object[] listData)JList(Vector<?> listData)
JList 選項數據 相關方法:
// 以數組形式設置選項數據,內部將自動封裝成 ListModelvoid setListData(Object[] listData)// 以集合形式設置選項數據,內部將自動封裝成 ListModelvoid setListData(Vector<?> listData)// 直接設置選項數據的 ListModelvoid setModel(ListModel<?> model)// 獲取維護選項數據的 ListModel。// 再通過 listModel.getElementAt(int index) 和 listModel.getSize() // 可分別 獲取指定索引的選項數據 和 選項數量。ListModel<?> getModel()
JList 選項選中索引 相關方法:
// 設置選擇模式,有三個模式: 只能單選、可間隔多選、可連續多選void setSelectionMode(int selectionMode)// 設置某個選項選中void setSelectedIndex(int index)// 設置某一些選項選中void setSelectedIndices(int[] indices)// 獲取第一個選中的選項索引int getSelectedIndex()// 獲取所有選中的選項索引int[] getSelectedIndices()
JList 字體和顏色 相關方法:
// 設置字體void setFont(Font font)// 設置字體顏色(未選中時)void setForeground(Color fg)// 設置選中選項的字體顏色void setSelectionForeground(Color selectionForeground)// 設置選中條的顏色void setSelectionBackground(Color selectionBackground)
JList 監聽器 相關方法:
// 添加選項選中狀態被改變的監聽器void addListSelectionListener(ListSelectionListener listener)
2. 代碼實例
package com.xiets.swing;import javax.swing.*;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;import java.awt.*;public class Main { public static void main(String[] args) { JFrame jf = new JFrame("測試窗口"); jf.setSize(300, 300); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JPanel panel = new JPanel(); // 創建一個 JList 實例 final JList<String> list = new JList<String>(); // 設置一下首選大小 list.setPreferredSize(new Dimension(200, 100)); // 允許可間斷的多選 list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // 設置選項數據(內部將自動封裝成 ListModel ) list.setListData(new String[]{"香蕉", "雪梨", "蘋果", "荔枝"}); // 添加選項選中狀態被改變的監聽器 list.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { // 獲取所有被選中的選項索引 int[] indices = list.getSelectedIndices(); // 獲取選項數據的 ListModel ListModel<String> listModel = list.getModel(); // 輸出選中的選項 for (int index : indices) { System.out.println("選中: " + index + " = " + listModel.getElementAt(index)); } System.out.println(); } }); // 設置默認選中項 list.setSelectedIndex(1); // 添加到內容面板容器 panel.add(list); jf.setContentPane(panel); jf.setVisible(true); }}
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。