默认情况下,我的Swing程序从显示器的左上角开始。有没有办法让它突然出现在右侧?
双显示器怎么样?我可以让它在正确的显示器上弹出吗?
感谢。
卡罗
答案 0 :(得分:7)
关于使用GraphicsEnvironment
做类似的事情,有很多问题/答案。
您可以使用GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()
获取所有监视器,然后调用GraphicsDevice#getConfigurations
然后GraphicsConfiguration#getBounds
以获取每个监视器的大小和位置,然后使用您的高中几何体来查找“正确”的监视器。 (请注意,真正的多显示器设置可以将它们放在任意位置。)
答案 1 :(得分:4)
假设您不想掩盖任务栏,则应使用getMaximumWindowBounds。
http://www.javabeginner.com/java-swing/java-jframe-class-example
居中JFrame的
默认情况下,显示Jframe 屏幕的左上角。 在指定的位置显示帧 位置,你可以使用 JFrame中的setLocation(x,y)方法 类。这个方法放置了 框架的左上角 location(x,y)。
右上角的伪代码如下所示:
yourJFrame.setLocation(
GraphicsEnvironment.getMaximumWindowBounds().getWidth() -
yourJFrame.getWidth(), 0);
答案 2 :(得分:0)
要在其他初始位置显示,请查看JFrame.setLocation()
要在其他屏幕上显示,请查看GraphicsEnvironment.getScreenDevices()
的可用信息。