从JDialog获取一个值到父JFrame

时间:2013-06-09 10:11:51

标签: java swing jdialog

我在我的项目中添加了一个jDialog Swing Form,如下图所示:

enter image description here

现在我想在关闭这个JDialog时从jtextField获取值到父JFrame,我用Google搜索了它,我发现了这个:

Object obj=sasirMdp.showDialog();

但是编译器告诉我在我的JDialog中没有名为showDialog的方法。

当我将此方法添加到JDialog类时:

ReturnValue showDialog() {
    setVisible(true);
    return result;
}

copmiler告诉我是否要创建班级ReturnValue

如果有人知道如何从JDialog获得该值,我将非常感激。

2 个答案:

答案 0 :(得分:2)

我觉得你在混淆JDialog和JOptionPane。你应该阅读How to Make Dialogs。这是对摆动对话的一个很好的介绍。

答案 1 :(得分:1)

你想要这样的东西吗?

public class TestJDialog extends JFrame implements ActionListener
{
private JLabel l;

public TestJDialog(String title)
{
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    this.setLayout(new GridLayout(0,1));
    JButton  b = new JButton("Input Dialog");
    b.addActionListener(this);
    this.add(b);

    l = new JLabel();
    this.add(l);

    setSize(300, 100);
    setVisible(true);
}

public void actionPerformed(ActionEvent evt)
{
    String s = evt.getActionCommand();
    String input = JOptionPane.showInputDialog(this,
                                               "Saisissez votre mot de passé:",
                                               s,
                                               JOptionPane.QUESTION_MESSAGE);
    l.setText("Mot passé: " + input);
}

public static void main(String[] args)
{
    new TestJDialog("Example");
}
}