Java Gui返回项目

时间:2012-11-07 20:59:48

标签: java swing user-interface textfield

我想要从gui实例返回 我运行的代码来创建GUI:

JFrame frame = new JFrame();
frame.getContentPane().add(new ChatPopup());
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.pack();
frame.setVisible(true);

我的GUI(ChatPopUp代码如下:

public class ChatPopup extends javax.swing.JPanel {
private JButton cancelButton;
private JTextField textFieldchatRoomName;
private JLabel jLabel1;
private JButton okButton;

public ChatPopup() {
    super();

    initGUI();
}

private void initGUI() {
    try {
        this.setPreferredSize(new java.awt.Dimension(294, 85));
        {
            jLabel1 = new JLabel();
            this.add(jLabel1);
            jLabel1.setText("Please enter the new chat room name:");
        }
        {
            textFieldchatRoomName = new JTextField();
            this.add(textFieldchatRoomName);
            textFieldchatRoomName.setPreferredSize(new java.awt.Dimension(263, 22));
        }
        {
            cancelButton = new JButton();
            this.add(cancelButton);
            cancelButton.setText("Cancel");
            cancelButton.setPreferredSize(new java.awt.Dimension(84, 22));
            cancelButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent evt) {
                    System.out.println("Cancel PRESSED");
                }
            });
        }
        {
            okButton = new JButton();
            this.add(okButton);
            okButton.setText("Ok");
            okButton.setPreferredSize(new java.awt.Dimension(60, 22));
            okButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent evt) {
                    System.out.println("OK PRESSED");
                }
            });
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

这是一个非常简单的GUI,它有一个文本字段和2个按钮,一个“Ok”,一个“Chancel”。 当我单击“确定”时,我希望将textField值发送到最初运行GUI实例的类。

任何想法如何做到这一点??

1 个答案:

答案 0 :(得分:0)

您发布的JPanel应添加到模式JDialog内容窗格中。在同一个类中,您可以提供一些方法来返回用户在文本字段中输入的值。

在原始窗口中,打开对话框。

SomeDialog dialog = new SomeDialog(parent);
dialog.setVisible(true);

setVisible()之后的代码仅在模式对话框关闭后执行。此时,您可以调用上面提到的方法来获取文本字段值。