我正在尝试制作一个将启用或禁用另一个按钮的按钮。我不确定为什么不输入ItemListener还是将ItemListener仅用于切换事件?这是我的代码。

这是在主要方法中:

        resumePause = new JButton ("Pause/Resume") ;
        leftPanel.add(resumePause) ;
        deleteObj = new JButton ("Delete");
        leftPanel.add(deleteObj);

        //sets delete button to disabled and resume to enable
        resumePause.setEnabled(true);
        deleteObj.setEnabled(false);
        // register the frame as a listener for Item events
        resumePause.addItemListener(this);


这是ItemEvent方法:

public void itemStateChanged (ItemEvent e) {
        System.out.println("In ItemStateChanged");
        if (playPause.isSelected()) {
            System.out.println("Delete enabled");
            deleteObj.setEnabled(true);
        }
        else{
            System.out.println("Delete disabled");
            deleteObj.setEnabled(false);
        }
    }


我添加了那些println()来检查它是否曾经输入itemStateChanged,但是从来没有输入。

最佳答案

只需使用JToggleButton,然后使用原始侦听器,即其上的ItemListener。

10-07 12:42