JTable:没有选定的行

cas*_*nne 3 java swing

我希望在jTable中没有选择任何行时禁用按钮.有没有办法做到这一点?

jus*_*tkt 6

在JTable上使用SelectionListener.

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());
});
Run Code Online (Sandbox Code Playgroud)

  • 更好的是,删除 if/else 和 button.setEnabled(!lsm.isSelectionEmpty()); (2认同)