我在 JavaSE 中有一个应用程序,我希望我的应用程序始终从屏幕中心开始。如果插入了两台显示器,则应使用正确的一台。所以我写了这样的代码:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
if(ge.getScreenDevices().length == 2) {
int w_1 = ge.getScreenDevices()[0].getDisplayMode().getWidth();
int h_1 = ge.getScreenDevices()[0].getDisplayMode().getHeight();
int w_2 = ge.getScreenDevices()[1].getDisplayMode().getWidth();
int h_2 = ge.getScreenDevices()[1].getDisplayMode().getHeight();
int x = w_1 + w_2 / 2 - getWidth() / 2;
int y = h_2 / 2 - getHeight() / 2;
setLocation(x, y);
}
不幸的是,如果显示器旋转 90°,宽度和高度应该翻转。有没有办法检测这种旋转?