首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在使用主显示器和辅助显示器时识别打开的窗口在哪个显示器上: JavaFx

在使用主显示器和辅助显示器时,可以通过JavaFx来识别打开的窗口在哪个显示器上。JavaFx是一个用于构建富客户端应用程序的Java库,它提供了丰富的图形界面组件和功能。

要实现识别打开的窗口在哪个显示器上,可以使用JavaFx的Screen类和Screen.getScreenForWindow()方法。下面是一个示例代码:

代码语言:txt
复制
import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Screen;
import javafx.stage.Stage;

public class WindowLocation extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建一个主显示器上的窗口
        StackPane primaryRoot = new StackPane(new Label("Primary Window"));
        Scene primaryScene = new Scene(primaryRoot, 400, 300);
        primaryStage.setScene(primaryScene);
        primaryStage.show();

        // 获取主显示器的屏幕
        Screen primaryScreen = Screen.getPrimary();

        // 创建一个辅助显示器上的窗口
        Screen secondaryScreen = getSecondaryScreen(primaryScreen);
        if (secondaryScreen != null) {
            Stage secondaryStage = new Stage();
            StackPane secondaryRoot = new StackPane(new Label("Secondary Window"));
            Scene secondaryScene = new Scene(secondaryRoot, 400, 300);
            secondaryStage.setScene(secondaryScene);
            secondaryStage.setX(secondaryScreen.getVisualBounds().getMinX());
            secondaryStage.setY(secondaryScreen.getVisualBounds().getMinY());
            secondaryStage.show();
        }
    }

    // 获取辅助显示器的屏幕
    private Screen getSecondaryScreen(Screen primaryScreen) {
        for (Screen screen : Screen.getScreens()) {
            if (!screen.equals(primaryScreen)) {
                return screen;
            }
        }
        return null;
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上面的示例代码中,首先创建了一个主显示器上的窗口,并获取了主显示器的屏幕。然后通过getSecondaryScreen()方法获取辅助显示器的屏幕。如果存在辅助显示器,就创建一个辅助显示器上的窗口,并设置窗口的位置为辅助显示器的左上角坐标。

这样就可以在使用主显示器和辅助显示器时,通过JavaFx来识别打开的窗口在哪个显示器上了。

推荐的腾讯云相关产品:腾讯云云服务器(ECS)和腾讯云弹性伸缩(AS)。腾讯云云服务器(ECS)是一种基于云计算技术的高性能、可扩展的计算服务,提供了多种配置和规格的云服务器实例供用户选择。腾讯云弹性伸缩(AS)是一种自动化的弹性计算服务,可以根据业务需求自动调整云服务器实例的数量,实现弹性扩容和缩容。

腾讯云云服务器(ECS)产品介绍链接地址:https://cloud.tencent.com/product/cvm

腾讯云弹性伸缩(AS)产品介绍链接地址:https://cloud.tencent.com/product/as

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券