如何通过按一个按钮禁用按钮,并且当已经完成按下按钮的任务时,我想要启用所有按钮。例如;
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然后计算机将添加它们,在此过程中我希望所有按钮被禁用,期望已被点击的按钮,直到用户已经给出了所有数字,计算机已经给出了输出。
我希望我已经正确解释了自己,如果没有,请告诉我,我会尽力提供更多信息。提前谢谢。
答案 0 :(得分:1)
如何使用Command
个对象?每个命令对象至少可能有execute()
和canExecute()
方法。然后;
btnA.setEnabled( cmdA.canExecute() );
btnA.addActionListener( event-> {
cmdA.execute();
btnB.setEnabled( cmdA.canExecute() );
});
答案 1 :(得分:0)
这似乎是正确的。也许你想要它们隐形而不是残疾......
在那种情况下:
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);
}
答案 2 :(得分:0)
如果您尝试这样做怎么办:
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");
}
它在这里工作......
答案 3 :(得分:0)
如果要设置禁用按钮,可以使用
btnExample.setDisable(真); //这将禁用Button
btnBreak.setVisible(假); //这将使按钮仅在视觉上消失。
希望这有帮助的人。
答案 4 :(得分:0)
您必须先禁用其他按钮,完成任务,然后再次启用按钮。
例如:
UpButton.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
// first disable all other buttons
DownButton.setEnabled(false);
LeftButton.setEnabled(false);
RightButton.setEnabled(false);
System.out.println("Up Button");
// do rest of your tasks here.
// now enable them again
DownButton.setEnabled(true);
LeftButton.setEnabled(true);
RightButton.setEnabled(true);
}
});
同样,为其他按钮设置监听器。
希望这有帮助!