如何通过按下一个按钮来禁用按钮,并且当分配给已按下的按钮的任务已完成时,我希望所有按钮都被启用。例如:
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,然后计算机将它们相加,在此过程中,我希望除已被点击的按钮之外的所有按钮都被禁用,直到用户给出了所有数字并且计算机给出了输出。
我希望我已经正确地解释了自己,如果没有,请让我知道,我会尽量提供更多的信息。提前谢谢。
发布于 2016-03-06 00:25:28
使用Command
对象怎么样?每个命令对象可能至少有execute()
和canExecute()
方法。然后;
btnA.setEnabled( cmdA.canExecute() );
btnA.addActionListener( event-> {
cmdA.execute();
btnB.setEnabled( cmdA.canExecute() );
});
发布于 2014-01-19 04:42:48
这似乎是对的。也许你想让他们看不见而不是被禁用。
在这种情况下:
LeftButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
DownButton.setVisible(false);
UpButton.setVisible(false);
RightButton.setVisible(false);
System.out.printline("Left Button");
下面是一个有效的例子:
private void jButtonChangeChampActionPerformed(java.awt.event.ActionEvent evt) {
jComboBoxPlayer.setEnabled(true);
jComboBoxChampion.setEnabled(true);
jButtonSelecionar.setVisible(true);
jButtonMagias.setVisible(false);
}
发布于 2014-01-19 22:41:41
如果你尝试这样做会怎么样:
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");
}
它在这里起作用。
https://stackoverflow.com/questions/21209532
复制相似问题