我在座位选择器中使用JToggle
。一旦选定,是否可以在整个执行过程中禁用切换按钮?我正在使用JToggleButton.setEnabled(false);
但是每次我回到菜单并回到座位选择器时,按钮仍然没有被禁用。我想要做的就是在我回到MainMenu后禁用它,所以当我回到座位选择器时,我不能再选择这个座位了。
下面是一些代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.setVisible(false);
MainSelection s = new MainSelection();
s.setVisible(true);
if(jToggleButton1.isSelected())
{
jToggleButton1.setEnabled(false);
}
if(jToggleButton2.isSelected())
{
jToggleButton2.setEnabled(false);
}
if(jToggleButton3.isSelected())
{
jToggleButton3.setEnabled(false);
}
}
请查看
答案 0 :(得分:2)
您似乎正在重新创建GUI,每次显示时都会显示切换按钮,您不应该这样做。
相反
setVisible(true)
显示即可。setVisible(false)
在需要时隐藏它。具体做法是:
修改强>
你问:
我真的需要帮助Make MainSelection变量,s,类的实例字段 - 声明它并在类中初始化它一次。仅在此方法中将其设置为可见。不要创建一个新的。我如何使它成为实例字段?我还要在主选择表格或座位选择表格中声明它吗?
您正在执行以下操作:
public class Foo {
private void someMethod() {
// the code below creates a new SomeClass instance each time the method is called
SomeClass localVariable = new SomeClass();
localVariable.setVisible(true);
}
}
而我建议您这样做:
public class Foo {
// the code below creates a SomeClass instance only *once*.
private SomeClass instanceField = new SomeClass();
private void someMethod() {
instanceField.setVisible(true);
}
}
另外,你应该对你的重复帖子做点什么: