如题:
     我在JTabbedPane中加入了一些JPanel,在JPanel中执行某些操作(如按下一个Button)时会弹出一个JDialog,我想要在JDialog中(点击某Button)实现在JTabbedPane再加入一个JPanel,但我不知道如何拿到调用JDialog构造方法的对象(即JPanel对象)或者直接是JTabbedPane对象。如果通过对构造方法加参数引进来,我要如何在Button的监听里使用这个对象。总结起来,就是我要如何在JDialog里拿到调用了此JDialog构造方法的那个JPanel对象。有没有现成的方法什么的。

解决方案 »

  1.   

    JDialog(Frame owner)
    JDialog不是有构造方法指定其所有者吗
      

  2.   

    如果这样它的所有者就是JPanel,
    但是我要如何在构造方法外拿到此所有者的引用呢?问题就在这里
      

  3.   


    我看API中好像它的所有者只有Dialog、Frame和Window这三种顶层窗口的情况。如果我想让它的所有者是JPanel可以吗?如果可以要怎么写,我直接写进去会显示出错。如下,JD_Nomoney为JDialog,第一个参数为JPanel,红色行出错。public JD_NoMoney(ToRentedHouse_JP toRentedHouseJP, boolean b,
    Customer customer2, String[] str2) {
         super(toRentedHouseJP, b);        this.customer = customer2;
            this.str = str2;
            initComponents();
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = this.getSize();
    this.setLocation((screenSize.width - frameSize.width) / 2,
    (screenSize.height - frameSize.height) / 2);
    }
      

  4.   


    JDialog的所有者是不是只可以是Dialog、Frame和Window三种顶层窗口,如果我想让JPanel为其所有者要怎么办?如下,JD_NoMoney为JDialog,其第一个参数是JPanel,但显示出错。
    public JD_NoMoney(ToRentedHouse_JP toRentedHouseJP, boolean b) {
         super(toRentedHouseJP, b);        initComponents();
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = this.getSize();
    this.setLocation((screenSize.width - frameSize.width) / 2,
    (screenSize.height - frameSize.height) / 2);
    }