首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java,eclipse中启用/禁用按钮?

如何在java,eclipse中启用/禁用按钮?
EN

Stack Overflow用户
提问于 2014-01-19 04:34:38
回答 4查看 38K关注 0票数 2

如何通过按下一个按钮来禁用按钮,并且当分配给已按下的按钮的任务已完成时,我希望所有按钮都被启用。例如:

代码语言:javascript
复制
UpButton.addActionListener( new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        DownButton.setEnabled(false);
        LeftButton.setEnabled(false);
        RightButton.setEnabled(false);
        System.out.printline("Up Button");

    }
});
DownButton.addActionListener( new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        UpButton.setEnabled(false);
        LeftButton.setEnabled(false);
        RightButton.setEnabled(false);
        System.out.printline("Down Button");


    }
});
LeftButton.addActionListener( new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        DownButton.setEnabled(false);
        UpButton.setEnabled(false);
        RightButton.setEnabled(false);
        System.out.printline("Left Button");

    }
});
RightButton.addActionListener( new ActionListener() {
    public void actionPerformed(ActionEvent e) {

        DownButton.setEnabled(false);
        LeftButton.setEnabled(false);
        UpButton.setEnabled(false);
        System.out.printline("Right Button");

    }
});

我试过这样做,但它不起作用。例如,我想要的是,我的向上按钮正在打印输出(“向上按钮”),所以当用户按下这个按钮时,我希望所有其他按钮都被禁用,直到它完成了它应该做的命令,在这种情况下,打印出一个文本,但稍后我将添加一些东西,比如将两个用户输入相加,例如,我将有一个按钮,它将要求用户输入数字1,然后输入数字2,然后计算机将它们相加,在此过程中,我希望除已被点击的按钮之外的所有按钮都被禁用,直到用户给出了所有数字并且计算机给出了输出。

我希望我已经正确地解释了自己,如果没有,请让我知道,我会尽量提供更多的信息。提前谢谢。

EN

回答 4

Stack Overflow用户

发布于 2016-03-06 00:25:28

使用Command对象怎么样?每个命令对象可能至少有execute()canExecute()方法。然后;

代码语言:javascript
复制
btnA.setEnabled( cmdA.canExecute() );
btnA.addActionListener( event-> { 
    cmdA.execute();
    btnB.setEnabled( cmdA.canExecute() );
});
票数 1
EN

Stack Overflow用户

发布于 2014-01-19 04:42:48

这似乎是对的。也许你想让他们看不见而不是被禁用。

在这种情况下:

代码语言:javascript
复制
LeftButton.addActionListener(new ActionListener() { 
public void actionPerformed(ActionEvent e) {

DownButton.setVisible(false);
UpButton.setVisible(false);
RightButton.setVisible(false);
System.out.printline("Left Button");

下面是一个有效的例子:

代码语言:javascript
复制
private void jButtonChangeChampActionPerformed(java.awt.event.ActionEvent evt) {                                                   
    jComboBoxPlayer.setEnabled(true);
    jComboBoxChampion.setEnabled(true);
    jButtonSelecionar.setVisible(true);
    jButtonMagias.setVisible(false);
}
票数 0
EN

Stack Overflow用户

发布于 2014-01-19 22:41:41

如果你尝试这样做会怎么样:

代码语言:javascript
复制
UpButton.addActionListener( new ActionListener() {
      public void actionPerformed(ActionEvent e) {

    UpButtonActionPerformed(evt);

        }
    });

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    DownButton.setEnabled(false);
    LeftButton.setEnabled(false);
    RightButton.setEnabled(false);
    System.out.printline("Up Button");
}

它在这里起作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21209532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档