【问题标题】:Linkedlist and jFrames链表和 jFrames
【发布时间】:2015-12-20 23:22:33
【问题描述】:

我已经创建了一个队列链表,我的主 jFrame 窗口被称为“UI”,按下它后有一个按钮“捐赠”,一个名为“捐赠”的新 jFrame 窗口打开设置 Visibility 上一个jFrame(UI)false (setVisible(false))。 jFrame“捐赠”包含一些文本字段和一个“捐赠血液”按钮,填写完文本字段后我们需要按下“捐赠血液”按钮,以便将文本字段中输入的值存储在@ 987654333@,然后将jFrame“捐赠”Visibility 设置为falsejFrame“UI”设置为true 以返回到我们的主jFrame 窗口。 问题是每次我点击“确认捐赠”时,我的数据都没有链接,例如:3 个人捐赠了

  • 约翰
  • 马特
  • 哈利

遍历的时候只能看到最后输入的名字,JohnMatt消失到哪里去了?

“UI”动作监听器代码中的捐赠按钮:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Donate d = new Donate();
        this.setVisible(false);
        d.setTitle("Donate - Blood Bank");
        d.setVisible(true);
    } 

调用捐赠jFrame窗口的献血按钮动作监听器代码:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        UserInterface ui = new UserInterface();
            BloodBank bb = new BloodBank();
            enQueue(jTextField1.getText(), (int)jSpinner1.getValue(), (String)jComboBox1.getSelectedItem(), (String)jComboBox2.getSelectedItem());
            first.Display();
            this.setVisible(false);
            ui.setTitle("Blood Bank");
            ui.setVisible(true);
        }

经过多次调试后,我发现如果我从按钮操作侦听器中删除这行代码并停止jFrame“捐赠”窗口不可见,我的队列链接列表工作正常,setVisible(false) 丢弃我的以前的保存数据?我该如何解决这个问题?

this.setVisible(false);

为了帮助更好地理解这里有一些截图:-

“UI”jFrame 中的捐赠按钮:

“捐赠”jFrame窗口:

【问题讨论】:

  • 您最好在弹出窗口中使用模态JDialog。这对您和用户来说都更容易。至于列表条目,我没有看到任何相关代码,所以很难说。我建议你发一个MCVE。请务必将您的代码复制粘贴到新项目,并确保在将其发布到此处之前编译并运行。
  • 处理记录插入的实际代码在哪里??

标签: java swing user-interface


【解决方案1】:

每次您在第一个 actionlistener 中创建 Donate 的新实例和在第二个 actionlistener 中创建 UserInterface 的新实例时。如果您的列表与这些框架的实例相关,那么您将失去它们。此外,这不是明智的做法。您可以以某种方式创建两个框架的实例,以便可以从两个动作侦听器访问它,然后只需在同一实例上调用 setVisible()。这应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多