Java JTable:没有选择行
每当jTable中没有选择任何行时,我想禁用一个按钮。有什么方法可以做到这一点吗?将选择侦听器添加到表中。如果出现选择,请启用该按钮。默认情况下禁用该按钮 在JTable上使用Java JTable:没有选择行,java,swing,Java,Swing,每当jTable中没有选择任何行时,我想禁用一个按钮。有什么方法可以做到这一点吗?将选择侦听器添加到表中。如果出现选择,请启用该按钮。默认情况下禁用该按钮 在JTable上使用 JTable table = new JTable(); JButton button = new JButton(); button.setEnabled(false); ListSelectionModel listSelectionModel = table.getSelectionModel(); listSe
JTable table = new JTable();
JButton button = new JButton();
button.setEnabled(false);
ListSelectionModel listSelectionModel = table.getSelectionModel();
listSelectionModel.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
button.setEnabled(!lsm.isSelectionEmpty());
});
像这样的方法应该会奏效:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener()
{
@Override
public void valueChanged(ListSelectionEvent e)
{
if (!e.getValueIsAdjusting())
{
boolean rowsAreSelected = table.getSelectedRowCount() > 0;
button.setEnabled(rowsAreSelected);
}
}
});
没有ListSelectionEvent被激活?如果是这样的话,我会非常惊讶……更好的是,删除if/else,只需按钮.setEnabled(!lsm.isSelectionEmpty());该链接指向旧版本的API