0
我有一个ListSelectionModel和ListSelectionListener的JTable。ListSelectionModel和监听器
选择模型在JTable中构造方法设置: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());
这是否看起来是正确的方式来获得当前的选择?它似乎在工作,但我不确定这是否是一种不好的方式。谢谢