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
不过话说回来,为什么会有这种需要呢?
------解决方案--------------------------------------------------------
如果用Swing的话目前这个问题无解.
如果是用SWT的话,这个问题就不是问题.
------解决方案--------------------------------------------------------
JNI