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