java - 发送数据到前一个JFrame

标签 java swing jframe multiple-instances

我正在使用 JFrame,我有一个主 JFrame,它需要第二个 JFrame(例如 jFrame2)。我需要 jFrame2 有 9 个按钮,每个按钮内都有图像(这里都很完美)。然后,当在 jFrame2 中按下按钮时,关闭 jFrame2 并向 jFrame1 发送一个字符串。 jFrame1 必须等待末端 jFrame2 接收发送 jFrame2 的字符串,并且因为 jFrame1 使用该字符串向服务器发送 JSON。

这是我的示例代码:

////// class jFrame1 //////

public class jFrame1 extends javax.swing.JFrame{

   public JTextField JTextField1; 
   public JTextField JTextField2; 
   public JTextField JTextField3; 
   private JButton jButton1;

   .....

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
   jFrame2 regPack = new jFrame2();
   regPack.setLocationRelativeTo(null);
   regPack.setVisible(true);

   //HERE I WANT THE PROGRAM RESPONSE TO WAIT CLOSE AND CONTINUE RUNNING JFrame

   ....
}



////// class jFrame2 //////

public class jFrame2 extends javax.swing.JFrame{

   private JButton jButton1;
   private JButton jButton2;

   public jFrame2(){
   }

   .....

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
   //HERE I WANT TO SEND A STRING ON JFRAME1 BEFORE CLOSING THIS JFRAME2
   this.dispose();
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
   //HERE I WANT TO SEND A STRING ON JFRAME1 BEFORE CLOSING THIS JFRAME2
   this.dispose();
}

最佳答案

更改它,以便 frame2 有一个方法(getter),frame1 可以检索设置的值。

更改它,使 frame2 成为模态 JDialog。这将导致您的代码在 JDialog 可见时停止,但允许 UI 的其余部分保持响应。当对话框关闭时,代码(在 frame1 中)将继续执行,您可以通过前面提到的 getter 从 frame2 检索值。

看看How to make dialogs了解更多详情...

关于java - 发送数据到前一个JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23008090/

相关文章:

java - 当x和y位置进入另一个位置时如何执行操作?

java - 通过 JFrame 添加到 ArrayList 时出现 NullPointerException 错误

java - 网格布局不按约束调整大小

java - 什么时候使用 'java.util.Objects.*' ?

java - 如何将 onclicklistener 用于 GridView

Java 架构 - 关于 ActionListener 约定的问题

java - Java Swing-如何在可见帧B时如何使用帧A?

java - 是否有运行非 fat jar 的 Maven 插件?

java - 为什么我的构造函数被识别为方法?

Java滚动条