我是 Java 初学者,来自 VB.net。 以下是我尝试使用 Netbeans 执行的操作:
我创建了 2 个 JFrame
类:JFrame1 和 JFrame2。
第一个是从项目的主类实例化的。
JFrame1 上有一个按钮。当我单击它时,将创建并显示 JFrame2 的新实例,并隐藏已创建的 JFrame1 实例。使用 JFrame2 上的另一个按钮,如何使已创建的 JFrame1 再次可见而不创建新实例。下面是我想要实现的代码的摘录。
JFrame1:
public class JFrame1 {
private void button1(java.awt.event.ActionEvent evt){
JFrame2 jf2 = new JFrame2();
jf2.setVisible(true);
this.setVisible(false);
}
}
JFrame2:
public class JFrame2 {
private void button2(java.awt.event.ActionEvent evt){
this.setVisible(false);
// here the line that would make Jframe1 visible without recreating an instance.
}
}
最后一个请求。如何销毁 JFrame2 以释放内存空间?
最佳答案
只需将 JFrame1
对象的句柄传递给 JFrame2
即可。
JFrame1:
public class JFrame1 {
private void button1(java.awt.event.ActionEvent evt){
JFrame2 jf2 = new JFrame2(this);
jf2.setVisible(true);
this.setVisible(false);
}
}
JFrame2:
public class JFrame2 {
private JFrame1 frame1;
public JFrame2(JFrame1 frame1) {
this.frame1 = frame1;
}
private void button2(java.awt.event.ActionEvent evt){
this.setVisible(false);
frame1.setVisible(true);
}
}
关于java - 访问已经创建JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774126/