比较简单的办法,写一个子Dialog的构造方法,把父JDialog的txt传到子Dialog里去,子Dialog按钮一触发,就改写txt的文本。
高级一点的方法,写接口回调或者自定义用户事件都可以。

解决方案 »

  1.   

    回调
    interferce InfoMonitor {
    public void modifyTxt(String text);
    public void modifyNum(int num);
    }class ParentBox extends JFrame implements InfoMonitor {JButton btn_ShowChild = new JButton();
    JTextField txt = new JTextField();
    ...
    public void modifyTxt(String text) {
     txt.setText(text);
    }public void modifyNum(int num) {
      //do ur business here, such like refresh a value of numberfield
    }void btn_ShowChild_actionPerformed(ActionEvent e) {
      ChildBox childBox = new ChildBox(this, this);
      childBox.setVisible(true);
    }}
    class ChildBox extends JDialog {
     InfoMonitor im = null;
     JButton btn = new JButton(); public ChildBox(JFrame owner, infoMonitor im) {
       super(owner, "", true);
       this.im = im;
     } ... void btn_actionPerformed(ActionEvent e) {
       im.modifyTxt("new text here");
       im.modifyNum(111111);
     }
    }