JFrame全屏问题
JFrame可以通过
setExtendedState(JFrame.MAXIMIZED_BOTH);
来达到全屏的效果。
但是比较奇怪的是,如果一个frame是单独运行,上面的语句会全屏(遮住windows任务栏),如果是被另外一个dialog调用(比如输入登录密码后出现frame),就会变成一般windows状态(最大化,不遮住windows任务栏)。
如果是一个frame打开另外一个frame,也会有遮住windows任务栏的效果。无法掌握其实际规律,只能自己设置他的大小来控制全屏或者最大化效果:
1. 不遮住任务栏:
??? Dimension?? screenSize?? =?? Toolkit.getDefaultToolkit().getScreenSize();??
??? Rectangle?? bounds?? =?? new?? Rectangle(screenSize);??
??? Insets?? insets?? =?? Toolkit.getDefaultToolkit().getScreenInsets(getGraphicsConfiguration());??
??? bounds.x?? +=?? insets.left;??
??? bounds.y?? +=?? insets.top;??
??? bounds.width?? -=?? insets.left?? +?? insets.right;??
??? bounds.height?? -=?? insets.top?? +?? insets.bottom;???
??? setBounds(bounds);??
?
2. 遮住任务栏:
getGraphicsConfiguration().getDevice().setFullScreenWindow(this);???