我正在编写一个 java swing 应用程序,其中有一个 JSplitPane (splitPane)。首先将一个JPanel(比如SummaryPanel)添加到其中。现在,从 SummaryPanel 中,我得到了对父 JSplitPane sp 的引用,并在按钮单击时设置了不同的 JPanel。
当我查看任务管理器时,每次单击并设置 JPanel 时,应用程序的内存使用量都会增加并且不会下降。
这是一个示例程序的样子:
在主 JFrame 内部:
JSplitPane sp = new JSplitPane();
sp.getLeftComponent().setVisible(false);
sp.setRightComponent(new SummaryPanel());
内部摘要面板:
myBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JSplitPane parent = (JSplitPane) getParent();
parent.setRightComponent(new MyPanel());
}
});
他们有更好的方法吗?或者,也许我可以通过任何方式减少内存使用量。