java - 链表和 jFrames

标签 java swing user-interface

我制作了一个队列链表,我的主 jFrame 窗口称为“UI”,按下它后有一个按钮“Donate”,一个新的 jFrame 窗口称为“Donate”打开将先前 jFrame(UI)Visibility 设置为 false (setVisible(false))。 jFrame “Donate”最后包含一些文本字段和一个“Donate Blood”按钮,填写文本字段后我们需要按下“Donate Blood”按钮,以便在文本字段中输入值应存储在 linkedlist 中,然后将 jFrame "Donate"Visibility 设置为 falsejFrame "UI"设置为 true 以返回到我们的主 jFrame 窗口。 问题是每次我点击“确认捐赠”时,我的数据都没有链接,例如:3 人捐赠

  • 约翰
  • 马特
  • 哈利

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

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

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

Donate Blood 按钮 Action 监听器代码调用捐赠 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);
        }

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

this.setVisible(false);

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

“UI”jFrame 中的捐赠按钮:

enter image description here

“捐赠”jFrame 窗口:

enter image description here

最佳答案

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

关于java - 链表和 jFrames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387036/

相关文章:

JavaFX 删除工具栏和窗口顶部之间的分隔

Java Swing 条形码创建

c# - Unity 4.6p1 UI 在任何版本中崩溃

c++ - 编写不占用大量空间的 Windows 应用程序的语言

java - 如何开始使用 Java 编码和设置 Web 服务器?

java - 如何更改 JComboBox 的 UI

java - 如何在 netbeans 中更改 jar 文件?

java - 比较 JTable 中的 2 列的日期

Java将图像插入椭圆

JavaFX布局: all in Grid vs Separator for each cell