我正在使用 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/