在成功添加ListSelectionListener并使其注册用户操作之后,在从不同的类初始化包含它的JFrame期间,我现在需要在JTable视图中预先选择一行:
// in constructor
rowSM_treatments = table_histories.getSelectionModel();
rowSM_treatments.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting()) return;
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
if (lsm.isSelectionEmpty()) {
System.out.println("No rows are selected.");
} else {
selectedRow_treatments = lsm.getMinSelectionIndex();
System.out.println("selected Row> " + selectedRow_treatments);
//do more
}}});
// later on is this method which I mean to call from outside this class
public void setSelectedRow(int row){
rowSM_treatments.setLeadSelectionIndex(row);
}发布于 2011-11-08 23:29:52
我通常只是访问表格,而不是直接使用选择模型:
table.changeSelection(row, 0, false, false);所以,只要你的另一个类有一个对表的引用,你就可以这样做。
https://stackoverflow.com/questions/8050402
复制相似问题