javax.swing.JList

 

介面物件
ListModel 處理資料
ListSelectionModel 選取方式
ListCellRenderer 方塊內選項表現方式

建構子

public JList(Vetor<?> listData) 傳入清單方塊選項資料的vector容器
public JList(Object[] listData) 傳入清單方塊選項資料的物件
public JList(ListModel dataModel) 傳入清單方塊選項資料的Model物件

 

 

設定取得清單內容資料的選擇方式

 JList類別常用方法

public void setSelectionMode(int selectionMode)

SINSLE_SELECTION:單選
JList ltSS = new JList();

//設定清單方塊的選取模式
ltSS.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ltSS.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
ltSS.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);

//選出清單中的資料
ltSS.getSelectedValue();
SINGLE_INTERVAL_SELECTION:連續選取
MULTIPLE_INTERVAL_SELECTION:不連續選取

 

使用捲軸

ListSelectionListener lsl = new ListSelectionListener(){...}
JList jList = new JList();

jList.addListSelectionListener(lsl);
Box bxSS = new Box(BoxLayout.Y_AXIS);
bxSS.add(new JScrollPane(ltSS));
JPanel jpLS = new JPanel(new GridLayout(1, 3));//宣告包含Box容器的JPanel容器
jpLS.add(bxSS); //將Box容器加入JPanel容器內

 

javax.swing.event.ListSelectionEvent

該事件僅只表示"狀態改變"且滑鼠按下與放開都會引發ListSelectionEvent

必需實作監聽器的方法 void valueChanged(ListSelectionEvent e)

ListSelectionEvent常用方法
public int getFirstIndex() 取得狀態改變中的第一個選項值
public int getListIndex()
取得狀態改變中的最後一個選項值
public boolean getValueIsdjusting()
狀態改變為連續事件傳回true
public String paramString()
取得標示事件中的參數字串
ListSelectionListener lsl = new ListSelectionListener(){
    public void valueChanged(ListSelectionEvent e){
       if(e.getValueIsAdjusting() == true)
     System.out.println("連續事件");
   }
};

 

 

 

 

 

 

 

 

 

 

 

ListSelectionModel.SINGLE_INTERVAL_SELECTION);

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 tedmouse 的頭像
    tedmouse

    松鼠窩

    tedmouse 發表在 痞客邦 留言(0) 人氣()