选择行时启用 Jbutton

gen*_*and 2 java sql jframe

单击表中的行时如何启用禁用按钮?

这是我当前的代码:

public void disAbled2() {

        DefaultTableModel model = (DefaultTableModel)tb_add.getModel();
        int row = tb_add.getSelectedRow();

        if(row>=0) {
            b_add.setEnabled(true);
        }
    }
Run Code Online (Sandbox Code Playgroud)

Ros*_*rew 6

.addlistSelectionListener()Table使用该事件来启用按钮

tb_add.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
 public void valueChanged(ListSelectionEvent event) {
  //enable button - put it in an EDT to be safe though
 }
});
Run Code Online (Sandbox Code Playgroud)

这会监视Table事件ListSelection,该事件会调用valueChanged您可以进行更改的位置

EDT - 事件调度线程

您应该使用 EDT 线程,以便对 GUI 进行更改,以便对 GUI 进行更改的唯一线程是避免干扰的线程,如下所示

    SwingUtilities.invokeLater( 
        new Runnable() {
            public void run() {
                b_add.setEnabled(true);
            }
        }
    );
Run Code Online (Sandbox Code Playgroud)