读书人

Swing 怎么弹出模式窗体同时窗体下有

发布时间: 2012-08-28 12:37:01 作者: rapoo

Swing 如何弹出模式窗体,同时窗体上有最大化、最小化和关闭按钮
JFrame 上有最大化、最小化和关闭按钮,但是JFrame 无法弹出模式窗体。
JDialog 可以弹出模式窗体,但是JDialog 上只有一个关闭按钮,没有最大化、最小化按钮。
如何使JFrame 弹出模式窗体 ?或者如何使JDialog上有最大化、最小化和关闭按钮。

[解决办法]

探讨
JFrame 上有最大化、最小化和关闭按钮,但是JFrame 无法弹出模式窗体。
JDialog 可以弹出模式窗体,但是JDialog 上只有一个关闭按钮,没有最大化、最小化按钮。
如何使JFrame 弹出模式窗体 ?或者如何使JDialog上有最大化、最小化和关闭按钮。

[解决办法]
这个问题还真有点犀利哦。
[解决办法]
基本上两种做法:
1、JDialog方法:dialog.setUndecorated(true); 然后自己重写整个外框;
2、JFrame方法:父窗口隐藏;子窗口监听windowDeactivated,强制requestFocus();
[解决办法]
JFrame模态两种方法:
1) JNI
2)
frame.addWindowFocusListener(new WindowFocusListener() {
public void windowGainedFocus(WindowEvent e) {}
public void windowLostFocus(WindowEvent e) {
frame.toFront();
}
} );

这里有讨论帖:
http://topic.csdn.net/t/20060929/15/5056950.html

不过话说回来,为什么会有这种需要呢?
[解决办法]
如果用Swing的话目前这个问题无解.
如果是用SWT的话,这个问题就不是问题.
[解决办法]
JNI

读书人网 >J2SE开发

热点推荐