你的JDialog是JFrame中的一个对象吧~~~那不就什么都好说了,直接访问就行了 JDialog中的数据也就是它的属性了,自己调用也就可以了怪不得没人回答

解决方案 »

  1.   

    JDialog是JFrame是一个成员,但我现在是想在JDialog中访问JFrame中的方法,有什么办法吗?
      

  2.   

    如果对话框是框架的内部类,则可以直接访问;
    如果不是,则可以把框架作为参数传给对话框的构造方法;
    如:
    //MyFrame.java
    public class MyFrame extends JFrame {
      private JDialog dialog;
      private void method1() {
        dialog = new MyDialog(this);
      }
      public void xxxx() {
        ...
      }
    }
    //MyDialog.java
    public class MyDialog extends JDialog {
      public MyDialog(MyFrame frame) {
        frame.xxxx();
      }
    }更好一点的作法是加一个接口,使框架和对话框的耦合性降低,如:
    public class MyFrame extends JFrame implements MyInterface{
      private JDialog dialog;
      private void method1() {
        dialog = new MyDialog(this);
      }
      public void xxxx() {
        ...
      }
    }
    //MyDialog.java
    public class MyDialog extends JDialog {
      public MyDialog(MyInterface frame) {
        frame.xxxx();
      }
    }
    //MyInterface.java
    public interface MyInterface {
      public void xxxx();
    }
      

  3.   

    没有像在VC里用GetParentWindow这样的函数取得父窗口的引用吗?
      

  4.   

    建立JDialog的时候将JFrame对象作为参数传如JDialog
      

  5.   

    我想也只能像study_body(珍惜每一天) 说的那样了