java - 访问已经创建JFrame

标签 java swing jframe

我是 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/

相关文章:

java - 在无限循环中使用匿名类与嵌套类(Java)

java - UI 打印空值而不是 txt 文件中的文本

java - 0,1矩阵中的递归路径查找(并保存所有可能的路径)java

java - 如何在无需用户输入的情况下在我的排队系统上添加自动 ID 号?

Java JFrame 和 JPanel 与 Repaint() 的区别

java - 是否可以在不将 JPanel 放入 JFrame 的情况下显示它?或全屏 GUI

java - WindowBuilder - 从 Main 打开 JFrame

java - 如何从另一个 GUI 类调用一个 GUI 类?

java - 使用 JFrame 的程序无法启动

Java swing 在 ContentPane 中交换 ImagePanel