Tag: 多监视器

如果可能,将jFrame输出到第二个监视器

我有一个关于Java的Swing的jFrame,如果这个监视器存在,我希望它输出到第二个监视器。 我尝试了这个(通过这个页面)来获得显示的分辨率 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices(); for (int j = 0; j < gs.length; j++) { GraphicsConfiguration[] gc = gs[j].getConfigurations(); for (int i = 0; i < gc.length; i++) { Rectangle gcBounds = gc[i].getBounds(); int xoffs = gcBounds.x; int yoffs = gcBounds.y; } } 但后来我在调试器中看到xoffs和yoffs为我的第一台显示器(1360 * 768)xoffs = 1360和yoffs = 0秒显示器(1280 […]

选择打开JavaFX窗口的监视器

我有两台显示器。 我在第二台显示器上打开Eclipse但是当我运行JavaFX代码时,JavaFX窗口总是在第一台显示器中打开,每次我必须将它拖到第二台显示器上才能使用它。 我必须这样做,因为当它在第一个监视器上打开时,场景中没有任何组件被加载。 仅当我将其拖动到第二个监视器时才会加载它。 但是,当我断开第二台显示器时,它会正确加载。 有人可以帮帮我吗? 默认情况下,如何在第二台显示器上打开窗口? 注意:我的第一台显示器是Macbook Pro,第二台是用作外接显示器的iMac。 回应评论: 使用任何简单的javaFX代码都会在screen1上正确加载组件的问题。 例如,为方便起见,我将@Sergey提供的代码作为答案。 码: public class FXScreens extends Application { @Override public void start(Stage stage) { VBox root = new VBox(10); root.setAlignment(Pos.CENTER); Scene scene = new Scene(root, 200, 250); int index = 1; for (Screen screen : Screen.getScreens()) { Rectangle2D bounds = screen.getVisualBounds(); Button btn = […]

通过java确定窗口显示数量和/或布局

我有一个全屏java应用程序,将在Windows 7机器上的8监视器数字标牌类型显示器上运行。 我需要能够在特定的物理监视器上显示内容。 理想情况下,我希望在显示属性 – >设置中按顺序1-8显示显示,但是许多拔出/插入和重新排序的尝试都无法通过显示属性 – >设置以任何确定的顺序显示物理监视器。 我可以对它们进行重新排序,但是当我的java程序在显示器上检索信息时,窗口中没有配置它们的布局/顺序。 GraphicsEnvironment ID返回诸如Device0和Device1之类的字符串,但这些字符串与显示属性中显示的Windows显示编号不匹配。 例如,如果布局是7,4,1,2,3,4,5,6我仍然返回Device0,Device1 …其中Device0对应于识别的屏幕1(不是7,这是左边的第一个屏幕) )。 有没有办法查询操作系统以确定显示器所处的布局和/或在特定物理监视器上显示全屏的其他技术?