如何在单击表格中的某一行时启用禁用按钮?
这是我目前的代码:
public void disAbled2() {
DefaultTableModel model = (DefaultTableModel)tb_add.getModel();
int row = tb_add.getSelectedRow();
if(row>=0) {
b_add.setEnabled(true);
}
}
答案 0 :(得分:4)
.addlistSelectionListener()
到Table
并使用该事件启用按钮
tb_add.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event) {
//enable button - put it in an EDT to be safe though
}
});
这会针对Table
事件观看ListSelection
,该事件会调用valueChanged
进行更改
EDT - 事件派遣线程
您应该使用EDT线程,以便对GUI进行更改,以便对GUI进行更改的唯一线程是避免干扰的线程,如此
SwingUtilities.invokeLater(
new Runnable() {
public void run() {
b_add.setEnabled(true);
}
}
);