java swing 打开另一个窗口_Java Swing 点击按钮显示一个新的窗口,这个窗口怎么获取父窗口的文本JTextField的内容...
时间: 2024-02-11 18:07:42 浏览: 162
要在Java Swing中打开一个新的窗口,并获取父窗口中的文本框内容,可以使用以下步骤:
1. 在父窗口中创建文本框,并设置其名称或ID,以便在子窗口中访问它。
2. 在子窗口中创建一个构造函数,该构造函数需要父窗口作为参数,以便在子窗口中访问父窗口的组件。
3. 在子窗口构造函数中,使用父窗口对象和文本框的名称或ID,访问父窗口的文本框并获取其内容。
以下是一个示例代码,演示如何在点击按钮时打开一个新窗口,并获取父窗口中文本框的内容:
```
import javax.swing.*;
import java.awt.event.*;
public class MyWindow extends JFrame {
private JTextField textField;
public MyWindow() {
// 设置窗口标题
setTitle("新窗口");
// 设置窗口大小
setSize(400, 300);
// 设置窗口关闭时的操作
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// 添加文本框
textField = new JTextField();
add(textField);
// 添加按钮用于获取文本框内容并关闭窗口
JButton button = new JButton("获取文本框内容并关闭窗口");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 获取父窗口的文本框内容
String text = textField.getText();
// 输出文本框内容
System.out.println(text);
// 关闭子窗口
dispose();
}
});
add(button);
}
public static void main(String[] args) {
// 创建一个按钮用于打开新窗口
JButton button = new JButton("打开新窗口");
// 添加按钮点击事件的监听器
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 创建新窗口对象,并传入父窗口作为参数
MyWindow window = new MyWindow();
window.setVisible(true);
}
});
// 创建主窗口并添加按钮
JFrame frame = new JFrame("主窗口");
frame.getContentPane().add(button);
frame.pack();
frame.setVisible(true);
}
}
```
在此示例中,我们在`MyWindow`类中添加了一个`JTextField`对象,并在`main`方法中创建了一个按钮,用于打开新窗口。在子窗口构造函数中,我们使用父窗口对象和文本框名称来访问父窗口的文本框并获取其内容。在点击按钮时,我们输出文本框内容,并关闭子窗口。
阅读全文