首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Swing 怎么弹出模式窗体,同时窗体下有最大化、最小化和关闭按钮

2012-08-28 
Swing 如何弹出模式窗体,同时窗体上有最大化、最小化和关闭按钮JFrame 上有最大化、最小化和关闭按钮,但是JF

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

热点排行