![](/img/trans.png)
[英]ListSelectionModel - getMinSelectionIndex() falsely returns -1
[英]ListSelectionModel and listener
我有一個帶有ListSelectionModel和ListSelectionListener的JTable。
選擇模型是在lsm.getSelectionModel()
構造函數中設置的: lsm.getSelectionModel()
並通過公共方法設置ListSelectionListener:
public void setListSelectionListener(ListSelectionListener l){
lsm.addListSelectionListener(l);
}
從Controller類調用:
view.setTableSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent e){
if (!e.getValueIsAdjusting()) {
int viewRow = e.getFirstIndex();
System.out.println(viewRow + " is selected");
}
}
});
因為偵聽器是在另一個類中創建的,所以我不能使用JTable的getSelectedRow();
方法,但使用ListSelectionEvent對象的getFirstIndex();
顯然沒有得到當前選擇。
所以我現在使用int viewRow = ((ListSelectionModel)e.getSource()).getLeadSelectionIndex());
這似乎是獲取當前選擇的正確方法嗎? 它似乎正在工作,但是我不確定這是否是不好的方法。 謝謝
僅getMinSelectionIndex()和getMaxSelectionIndex()有效,它們分別返回所選索引的最小值和最大值。 即使沒有選定的行,引導/錨定的選定索引也可能> = 0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.