我需要在启动时修复 OSX(https://sourceforge.net/projects/ipscan/)上开源 Java 应用程序“Angry IP Scanner”的屏幕位置。
如果您启动应用程序并将其移动到辅助显示器(非镜像)的扩展空间并执行以下两项操作之一:1)在应用程序运行的情况下拔下辅助显示器或 2)退出位于辅助显示器上的应用程序监视器。
如果您拔下第二台显示器然后启动应用程序,应用程序会加载并将屏幕放置在现在不存在的第二台显示器上,即使它没有插入。
要让屏幕回到主屏幕区域,您必须插入第二台显示器并将其移回主屏幕。然后您可以拔下第二台显示器并且没有问题。
当应用程序启动时,我认为应用程序需要检查当前屏幕尺寸与之前的屏幕尺寸,如果它发生了变化,请将屏幕放在 10,10 位置附近,以便它显示在主屏幕上,希望是活动屏幕。
在我对 Stack Overflow 的搜索中,您似乎可以找到如下所示的当前屏幕信息:
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
int width = gd.getDisplayMode().getWidth();
int height = gd.getDisplayMode().getHeight();
如何将其保存到文件中并调用/比较以前的数据与当前数据,如果它已更改,请将应用程序的窗口移动到 10,10 位置?
我是在 OSX 上编写 iOS 和 Ruby 的初学者,但没有做过任何 Java。我喜欢这个程序,但是这个错误让我很生气,而且似乎没有人在积极地处理代码。
有人想帮忙吗?
顺便说一句...这是 Angry IP Scanner 网站上的错误 84。
也许有人可以解释我如何从 cli 运行以下代码片段?
int resolution =Toolkit.getDefaultToolkit().getScreenResolution();
System.out.println(resolution);
谢谢,
帕帕帕