Java 禁用jToggleButton

Java 禁用jToggleButton,java,swing,jtogglebutton,Java,Swing,Jtogglebutton,嘿,伙计们,我正在制作这个简单的电影票务系统 我的程序流程如下,所有页面都在不同的JFrames中:主菜单>选择日期>选择电影>选择座位>返回主菜单 我正在座位选择器中使用JToggle。一旦选中,是否可以在整个执行过程中禁用切换按钮?我正在使用JToggleButton.setEnabled(false)但每次我返回菜单并返回座位选择器时,该按钮仍然没有被禁用。我想做的是即使在我返回主菜单后也将其禁用,因此当我返回座位选择器时,我无法再选择此座位 下面是其中的一些代码: private voi

嘿,伙计们,我正在制作这个简单的电影票务系统 我的程序流程如下,所有页面都在不同的JFrames中:主菜单>选择日期>选择电影>选择座位>返回主菜单

我正在座位选择器中使用
JToggle
。一旦选中,是否可以在整个执行过程中禁用切换按钮?我正在使用
JToggleButton.setEnabled(false)但每次我返回菜单并返回座位选择器时,该按钮仍然没有被禁用。我想做的是即使在我返回主菜单后也将其禁用,因此当我返回座位选择器时,我无法再选择此座位

下面是其中的一些代码:

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);
    }

}                                        

请检查它

好吧,
JToggleButton
的“enabled”属性在设置为
false
时很可能不会将自身重置为
true
。我认为您实际上是在查看另一个
JToggleButton
的实例。也许您每次访问“选择座位”GUI时都会重新创建它? 在这种情况下,您要做的是将应用程序数据(其中包含已预订座位等信息)与用户界面分离

我认为,这样做的一个好方法是使用模型视图控制器模式。 让我向您介绍这种设计模式:

  • 模型保存您的应用程序数据(例如,可以是
    集合
  • 视图用于显示您的数据(即您的
    JToggleButton
  • 控制器是更新模型的入口点(在您的情况下,这些也是
    JToggleButton
您可以在那里阅读更多关于它的信息:

基本上,不是每次都创建一个新的“空”视图,而是希望用数据容器(模型)中包含的值加载它。然后,当您单击表示座位的某个
JToggleButton
(控制器)时,您不需要直接更改按钮的状态,只需更新您的模型来切换座位的状态(保留或不保留)。然后,每次更新模型时,您的视图将使用可用的新数据进行刷新。就这样

+--------------------------------------+
|    +-----------+                     |
|    |   Model   <-------+             |
|    +-----v-----+       |             |
|          |             |             |
|          |             |             |
|    +-----v---+---------^----------+  |
|    |  View   |     Controller     |  |
|    +---------+--------------------+  |
|                                      |
+---------- Your application ----------+
+--------------------------------------+
|    +-----------+                     |
||模型