从jpanel中调出一个JDialog,并且使得父窗口jpanel的控件不能用

这个问题不好描述,就我的目的吧。

我要一个窗体调出另一个窗体。不过,父窗体只能是jpanel,而不是jframe,这是由我的问题决定的。并且使父窗体不可写。

当然,如果是jframe,这久简单了。


调出可编写的窗口,即子窗口为jdialog,但其构造方法中父窗体只能是jframe或者window,

不过,用这个,就可以使用了:

SwingUtilities.getWindowAncestor(this);

不过,jframe模式不知该怎么搞,看哪位大牛能教我。


不过另一方面,虽然成功调出jdialog了,但是父窗体仍然可写,只是总在子窗体下面而已。



这里就是使jdialog做出让父窗体不可写的问题了,并且当子窗体一关闭,就可以写了,

方法:

①:给子窗体传递一个父窗体的句柄,

②:一new出子窗体,把所有控件的ennable设为false

③:捕获windowClosing事件

④:通过句柄来改变相应控件的ennable。



注:不过还是略显麻烦,本人学艺不精,看哪位大牛能给出:在jpanel中调出新窗口jdialog,并且和jframe调出jdialog效果一样,是的父窗体都不能聚焦。

你可能感兴趣的:(java,eclipse,debug,application,控件)