用于Eclipse启动的更改显示

时间:2010-09-01 13:30:24

标签: java eclipse

我正在Windows XP上的Eclipse中开发基于Swing的Java应用程序。我有双显示器设置。

我希望程序在与我运行Eclipse的监视器不同的监视器上启动。如何设置我的调试配置以实现此目的?

4 个答案:

答案 0 :(得分:2)

这取决于您如何设置第二台显示器。对于我的回答,我假设您将其添加为桌面的“扩展”(因此您可以通过拖动鼠标在它们之间移动窗口)。

在此模式下,您的桌面会变大。要查看该内容,请致电GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds

宽度应该是两个显示器宽度的总和,高度应该是两个高度中的较大者。

注意x坐标可以是< 0(如果您将正确的监视器设置为默认监视器,则会发生这种情况)。

要将窗口移动到另一个监视器,只需使用具有适当值的位置(setPosition())并将该位置作为选项传递给程序。或者将当前位置保存为首选项节点,并在再次运行应用程序时在同一位置再次打开窗口。

如果您的显示器是独立配置的,您应该查看GraphicsEnvironment.getScreenDevices() API。

答案 1 :(得分:2)

打开新框架时,默认为坐标0,0。具体取决于您的操作系统的显示器布局。通常,0,0将是主监视器的左上角。

您的问题的解决方案是在辅助监视器上运行Eclipse,以便应用程序将在另一个(主)监视器上打开。您实际上不必移动Eclipse来执行此操作。进入操作系统的监视器设置,并将主监视器切换到要启动应用程序的监视器。 Eclipse现在将在辅助监视器上运行。

您的新框架现在将在另一台显示器上打开,并且您在此过程中没有更改任何代码,只更改了操作系统的配置设置。

答案 2 :(得分:0)

我认为你做不到。我找到的唯一解决方案是手动将程序从第一个显示器移动到第二个显示器,然后在此位置关闭它(使用关闭按钮而不是控制台终止红色按钮,在不保存任何内容的情况下残酷地停止VM)。然后在下次重新启动时,程序启动应出现在第二个显示屏上。为了使此解决方案正常工作,您的启动配置不应在每次启动时清除工作区和配置,以保持程序屏幕位置。

有关RCP应用的相关内容,请参阅RCP opening monitor

答案 3 :(得分:0)

您可以通过编程方式实现该行为。我相信你可以谷歌找到如何在第二台显示器上打开你的窗口的例子。如果它只是在调试时才需要,请在启动配置中添加一个开关(更具体地说,一个JVM运行时参数),并在程序启动时检查开关(System.getProperty)。