JFrame.dispose()在JFrame之间切换以更新JList。好的还是坏的做法?

时间:2016-03-23 16:01:20

标签: java user-interface jframe dispose

每个人,所以我们在学校有这个GUI项目,它涉及在两个JFrame之间切换,一次只能看到一个JFrame。

因此,我当前的实现在切换到另一帧时隐藏了前一帧,反之亦然。单击按钮时,我们使用frame.dispose()。它似乎做得很好,但正如我的同学所说,它可能有一些记忆浪费问题。

我在网上搜索过,有人说它清除了内存,但有人说它只是隐藏了框架,所以基本上这意味着当我隐藏一个jframe时,它仍然存在,而我们的程序涉及大量切换,所以这意味着数十个“隐形框架”开启了。

所以,如果这一切都是真的,那么在JFrame之间切换的其他选择是什么?
不,删除多个JFrame部分不是一种选择。

编辑:我忘了提及,当切换帧时,一些信息会更新(它涉及一个JList)。因此,我必须再次调用框架以查看更改。

这是我更新值的方式(它就像一个迷你数据库的东西):

JButton btnNewButton = new JButton("Remove Contact");
    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                personToRemove=list.getSelectedValue().toString();
                dispose();
                Main.handler.remove(cstring);
                Main.main(args);
                }
        }
    });

所以代码所做的就是再次调用帧来显示新的JList数组(删除了Contact)。它不是真正的转换,但仍然是相同的概念。

提前致谢!

0 个答案:

没有答案