我是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);
}
}