javafx适配双屏幕

【Java】多显示屏时,让窗体默认在显示屏2显示(Java swing) 当我们有两个显示屏时,我们不想每次窗口打开之后挡住代码,每次移动又很麻烦,本文讲述了怎么让窗体默认在第二个显示屏打开 阅读详情

首先初始化 stage

Stage stage= new Stage();

有三种方式获取屏幕的信息

// 使用ScreenProperties.DEFAULT的话,是当前stage如果在第一块屏幕打开的话,则获得第一块屏幕的参数,如果当前stage在第二块屏幕打开的话,则获得第二块屏幕的参数

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.DEFAULT);

// 使用ScreenProperties.FIRST_SCREEN的话,会获得第一块屏幕的参数

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.FIRST_SCREEN);

// 使用ScreenProperties.SECOND_SCREEN的话,会获得第二块屏幕的参数(如果只有一块屏幕的话,返回的是当前这块屏幕的参数)

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.SECOND_SCREEN);

在第二块屏幕上全屏显示

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.SCREEN);

screenStage.setWidth(screenProperties.getFullScreenWidth());

screenStage.setHeight(screenProperties.getFullScreenHeight());

screenStage.setX(screenProperties.getFullScreenX());

screenStage.setY(screenProperties.getFullScreenY());

在默认的屏幕上最大化显示:(该方法有适配导航栏在上下左右的情况)

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.DEFAULT);

screenStage.setWidth(screenProperties.getMaximizeWidth());

screenStage.setHeight(screenProperties.getMaximizeHeight());

screenStage.setX(screenProperties.getMinX());

screenStage.setY(screenProperties.getMinY());

窗口位于屏幕中心:(具体参数要自己调)

ScreenProperties screenProperties = new ScreenProperties(stage, ScreenProperties.DEFAULT);

// 设置宽为最大化时的宽度一半,高为最大化时高度的一半

stage.setWidth(screenProperties.getMaximizeWidth() * 0.5);

stage.setHeight(screenProperties.getMaximizeHeight() * 0.5);

// x轴位于中心往左移当前stage的一半(setX和setY必须得放在setWidth和setHeight后面,因为这里要获取stage.getWidth()和stage.getHeight())

stage.setX(screenProperties.getCenterX() - (stage.getWidth() / 2));

// y轴靠中心位置往上一些,看起来更顺眼一点

stage.setY(screenProperties.getCenterY() - (stage.getHeight() / 1.6));

这里提供ScreenProperties 的代码:

public class ScreenProperties {

    /**
     * 最大化时的屏幕高度(不会覆盖任务栏)
     */
    private double maximizeHeight;
    /**
     * 最大化时的屏幕宽度(不会覆盖任务栏)
     */
    private double maximizeWidth;
    /**
     * 全屏时屏幕高度(覆盖任务栏)
     */
    private double fullScreenHeight;
    /**
     * 全屏时屏幕宽度(覆盖任务栏)
     */
    private double fullScreenWidth;
    /**
     * 全屏时屏幕的左上角x坐标(覆盖任务栏)
     */
    private double fullScreenX;
    /**
     * 全屏时屏幕的左上角y坐标(覆盖任务栏)
     */
    private double fullScreenY;

    /**
     * 最大化时左上角的x轴坐标(不会覆盖任务栏,因为任务栏可能在“上下左右”四个位置,所以这个值会变动)
     */
    private double minX;
    /**
     * 最大化时左上角的y轴坐标(不会覆盖任务栏,因为任务栏可能在“上下左右”四个位置,所以这个值会变动)
     */
    private double minY;
    /**
     * 最大化时右下角的x轴坐标(不会覆盖任务栏,因为任务栏可能在“上下左右”四个位置,所以这个值会变动)
     */
    private double maxX;
    /**
     * 最大化时右下角的y轴坐标(不会覆盖任务栏,因为任务栏可能在“上下左右”四个位置,所以这个值会变动)
     */
    private double maxY;
    /**
     * 最大化时屏幕中心点的x坐标
     */
    private double centerX;
    /**
     * 最大化时屏幕中心点的y坐标
     */
    private double centerY;

    /**
     * 主界面为正常大小窗口时,默认的左上角x坐标
     */
    private double indexX;
    /**
     * 主界面为正常大小窗口时,默认的左上角y坐标
     */
    private double indexY;
    /**
     * 主界面为正常大小窗口时的窗口的宽度
     */
    private double indexWidth;
    /**
     * 主界面为正常大小窗口时的窗口的高度
     */
    private double indexHeight;

    /**
     * 默认当前窗口在第几块屏幕,就在第几块屏幕显示
     */
    public static final int DEFAULT = 0;
    /**
     * 在第一块屏幕显示
     */
    public static final int FIRST_SCREEN = 1;
    /**
     * 在第二块屏幕显示
     */
    public static final int SECOND_SCREEN = 2;

    /**
     * 第一屏幕,全屏窗口大小(覆盖任务栏)
     */
    private Rectangle firstRectangle;
    /**
     * 第一屏幕,最大化窗口大小(不覆盖任务栏)
     */
    private Rectangle2D firstRectangle2D;
    /**
     * 第二屏幕,全屏窗口大小(覆盖任务栏)
     */
    private Rectangle secondRectangle;
    /**
     * 第二屏幕,最大化窗口大小(不覆盖任务栏)
     */
    private Rectangle2D secondRectangle2D;

    /**
     * 获得所有屏幕设备的信息
     */
    private GraphicsDevice[] gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();

    /**
     * 构造函数
     *
     * @param stage 当前stage对象
     * @param index {@link ScreenProperties#DEFAULT} 默认
     *              {@link ScreenProperties#FIRST_SCREEN} 在第一块屏幕显示
     *              {@link ScreenProperties#SECOND_SCREEN} 在第二块屏幕显示
     */
    public ScreenProperties(Stage stage, int index) {
        if (stage == null) {
            return;
        }
        // 当前stage的中心点的x坐标(当屏幕位置为"第二屏幕-第一屏幕"的时候,该值小于0)
        double centerXOfStage = stage.getX() + stage.getWidth() / 2;
        // 初始化firstRectangle和secondRectangle
        initRectangle();
        // 只有一个屏幕的情况下,不管index参数是什么,都是在第一屏幕显示
        if (gd.length == 1) {
            initFirstDevice();
        } else {
            // 多个屏幕的情况(这里只适配2个屏幕的情况)
            if (index == FIRST_SCREEN) {
                // 在第一块屏幕显示
                initFirstDevice();
            } else if (index == SECOND_SCREEN) {
                // 在第二块屏幕显示
                initSecondDevice();
            } else {
                // 其它情况, 当前stage在第几块屏幕,就在第几块屏幕显示(根据Stage的中心点来判断它在第几块屏幕)
                // 如果第二块屏幕的左上角坐标小于0,说明当前屏幕位置为:第二屏幕 - 第一屏幕(第二块屏幕在第一块屏幕的左边)
                if (secondRectangle2D.getMinX() < 0) {
                    // 此时第二屏幕的x坐标都是小于0的
                    if (centerXOfStage < 0) {
                        // 窗口的中心点在第二块屏幕,则在第二屏幕显示
                        initSecondDevice();
                    } else {
                        // 窗口的中心点在第一个屏幕,则在第一屏幕显示
                        initFirstDevice();
                    }
                } else {
                    // 当前屏幕位置:第一屏幕 - 第二屏幕(第二块屏幕在第一块屏幕的右边),此时第二屏幕x坐标是大于第一屏幕的宽度
                    if (centerXOfStage > firstRectangle.width) {
                        // 窗口的中心点在第二块屏幕,则在第二屏幕显示
                        initSecondDevice();
                    } else {
                        // 窗口的中心点在第一个屏幕,则在第一屏幕显示
                        initFirstDevice();
                    }
                }
            }
        }
    }

    /**
     * 初始化第一个屏幕的信息
     */
    private void initFirstDevice() {
        initDeviceInfo(firstRectangle, firstRectangle2D);
        // 全屏时的x坐标为最大化时左上角的x坐标
        fullScreenX = 0;
        // 全屏时的y坐标为0
        fullScreenY = 0;
    }

    /**
     * 初始化第二块屏幕的信息
     */
    private void initSecondDevice() {
        initDeviceInfo(secondRectangle, secondRectangle2D);
        // 如果屏幕位置:"第二屏幕-第一屏幕"
        if (secondRectangle2D.getMinX() < 0) {
            // 此时全屏的x坐标为0 减去自己(第二块)的屏幕宽度
            fullScreenX = 0 - secondRectangle.width;
        } else {
            // 此时全屏的x坐标为 第一块屏幕的宽度
            fullScreenX = firstRectangle.width;
        }
        // 全屏时的y坐标为0
        fullScreenY = 0;
    }

    /**
     * 初始化屏幕信息
     *
     * @param rectangle   全屏
     * @param rectangle2D 最大化
     */
    private void initDeviceInfo(Rectangle rectangle, Rectangle2D rectangle2D) {
        // 全屏时
        fullScreenWidth = rectangle.width;
        fullScreenHeight = rectangle.height;
        // 最大化
        maximizeWidth = rectangle2D.getWidth();
        maximizeHeight = rectangle2D.getHeight();
        // 最大化时右上角坐标
        minX = rectangle2D.getMinX();
        minY = rectangle2D.getMinY();
        // 最大化时左下角坐标
        maxX = rectangle2D.getMaxX();
        maxY = rectangle2D.getMaxY();
        // 最大化时的中心点位置(最大化时左上角坐标 + 最大化时窗口宽度的一半)
        centerX = minX + maximizeWidth / 2;
        centerY = minY + maximizeHeight / 2;
        // 主页面处于正常窗口大小时的宽度(为最大化时的宽度的八分之一)
        indexWidth = maximizeWidth * 0.9;
        // 主页面处于正常窗口大小时的高度(为最大化时的宽度的九分之一)
        indexHeight = maximizeHeight * 0.9;
        // 主页面为正常窗口大小时的右上角x坐标(为最大化时左上角的x坐标 + 最大化时的宽度的五分之一)
        indexX = minX + maximizeWidth * 0.05;
        // 主页面为正常窗口大小时的右上角y坐标(为最大化时左上角的y坐标 + 为最大化时的高度的五分之一)
        indexY = minY + maximizeHeight * 0.05;

    }

    /**
     * 非常奇葩的一点:通过GraphicsDevice[] gd = ge.getScreenDevices();取得的设备是按照从左往右的顺序得到的
     * 例如现在屏幕位置:第二屏幕 - 第一屏幕,则gd[0]是第二屏幕,gd[1]是第一屏幕
     * 例如现在屏幕位置:第一屏幕 - 第二屏幕,则gd[0]是第一屏幕,gd[1]是第二屏幕
     * 太坑了吧!!!
     * 更坑爹的是,使用Screen secondScreen = Screen.getScreens().get(0); 其中get(0)为第一屏幕,get(1)为第二屏幕(不会因为屏幕位置排序而变化)
     * 如果你有更好的获取两个屏幕下设备的信息的方法,你可以更改下
     */
    private void initRectangle() {
        // 获得第一个屏幕最大化窗口的信息(不覆盖任务栏)
        Screen firstScreen = Screen.getScreens().get(0);
        firstRectangle2D = firstScreen.getVisualBounds();
        // 只有一块屏幕
        if (gd.length == 1) {
            // 获得第一个屏幕全屏时的信息(覆盖任务栏)
            firstRectangle = gd[0].getDefaultConfiguration().getBounds();
        } else {
            // 多块屏幕(只适配2块)
            // 获得第二个屏幕最大化窗口的信息(不覆盖任务栏)
            Screen secondScreen = Screen.getScreens().get(1);
            secondRectangle2D = secondScreen.getVisualBounds();
            // 左边的屏幕(全屏)
            Rectangle leftRectangle = gd[0].getDefaultConfiguration().getBounds();
            // 右边的屏幕(全屏)
            Rectangle rightRectangle = gd[1].getDefaultConfiguration().getBounds();
            // 屏幕位置:第二屏幕 - 第一屏幕
            if (secondRectangle2D.getMinX() < 0) {
                secondRectangle = leftRectangle;
                firstRectangle = rightRectangle;
            } else {
                // 屏幕位置:第一屏幕 - 第二屏幕
                firstRectangle = leftRectangle;
                secondRectangle = rightRectangle;
            }
        }
    }

    public double getMaximizeHeight() {
        return maximizeHeight;
    }

    public double getMaximizeWidth() {
        return maximizeWidth;
    }

    public double getFullScreenHeight() {
        return fullScreenHeight;
    }

    public double getFullScreenWidth() {
        return fullScreenWidth;
    }

    public double getFullScreenX() {
        return fullScreenX;
    }

    public double getFullScreenY() {
        return fullScreenY;
    }

    public double getMinX() {
        return minX;
    }

    public double getMinY() {
        return minY;
    }

    public double getMaxX() {
        return maxX;
    }

    public double getMaxY() {
        return maxY;
    }

    public double getCenterX() {
        return centerX;
    }

    public double getCenterY() {
        return centerY;
    }

    public double getIndexX() {
        return indexX;
    }

    public double getIndexY() {
        return indexY;
    }

    public double getIndexWidth() {
        return indexWidth;
    }

    public double getIndexHeight() {
        return indexHeight;
    }
}

 

利用javafx实现的一个具有完整功能的播放器 这是利用sun的javafx实现的具有相对完整功能的多媒体播放器-----相对于网上的“一分钟写出一个javafx播放器”而言。 注意:javafx需要一些运行环境,具体说来是: 1.jdk6update14以上 2.javafx运行包----如果你在命令行敲入javafx提示无法找到javafx之类的错误,那么就是你没有此种运行环境了; 3.如果以上你都没有的话,那么就用NetBeans6.4或以上在工具---插件中选在javafx的插件下载,然后直接编译源代码好了。 4.如果你认为以上比较麻烦的话,那么抱歉了,我还没有办法将一个一体式提供上来,因为太大了。 其他的请运行程序后查看“注意事项”. 如果有任何疑问可以直接发信给我,一旦我发现了就会立刻回应. 立即下载

相关推荐

CAT24C16 EEPROM的I²C页写与页读底层实现

I²C是一种广泛应用于嵌入式系统的双线同步串行通信协议,其核心在于严格的时序控制、地址寻址机制与主从应答逻辑。理解I²C总线物理层(上拉电阻、SCL/SDA电气特性)、协议层(START/STOP、ACK/NACK、7位地址格式)及外设寄存器操作(如SR1状态标志、CCR时钟分频),是实现可靠通信的基础。在实际工程中,EEPROM类器件(如CAT24C16)因其非易失性、页缓冲区结构和写保护(WP)功能,成为数据持久化关键载体;其16字节页写约束、内部写周期(5–10ms)与地址指针自动递增等特性,直接决定

weixin_42591413的博客 388

JavaFx基于swing 实现双屏

JavaFx 实现双屏入口方法设置窗口位置工具类 入口方法 public class App extends Application { @Override public void start(Stage primaryStage) throws Exception { AnchorPane pane = new FXMLLoader().load(getClass().getClassLoader().getResourceAsStream("fxml/Main.f

Yweir的博客 1095

GAN网络(论文阅读):Generative Adversarial Nets

当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。

m0_54248968的博客 2293

javaFx设置全屏

如何在JavaFx中设置全屏 操作流程 下面是设置JavaFx全屏的步骤表格: erDiagram Title: 设置JavaFx全屏流程 step1-->step2: 1. 创建JavaFx应用程序 step2-->step3: 2. 获取主舞台Stage对象 step3--...

weixin_42467088的博客 382

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页

HTML5期末大作业:水果超市网站设计——水果超市(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 网购商城设置网页 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大

1714

(P2)PALM软件的基本使用流程

上一篇介绍了PALM在Ubuntu系统上的下载安装及安装后的目录文件结构,这一篇以自带的案例介绍软件的基本操作流程。(请转至example_cbl项目) 输入 声明:官网均有各个变量的说明,以下代码来自软件自带案例 palm的最小输入文件是p3d文件,以下是example_cbl_p3d的详细说明。(文件语言格式Fortran,请自行先学习下语言的基本语法。笔者也是新学者,有非常多的问题,很多参数也不能准确的说出是什么意思,还请不吝赐教,谢谢!!!) !几点说明 !1、该运行文件基本由三大块组成:1)in

ysqzhatian的博客 3259

双屏,多屏情况下,获取屏幕的坐标

项目需要,要在不同的屏幕中显示不同的内容。 我wai

hell_world! 1万+

由浅入深的详细解读汽车PDU与BDU

本文详细解读新能源汽车的PDU高压配电单元和BDU电池包断路单元,涉及电气件参数设计、选型、结构设计、电气安全、散热设计、继电器控制与诊断,提供汽车电子知识和技术解析。

让你爱上电路设计 1万+

java双屏Api,HDMI输出编程双屏

In my search I found that, the Android SDK provides no support for controlling HDMI port activities and handling HDMI output, as of now. Though certain device manufacturers like Motorola (don't know i...

weixin_39637920的博客 443

【TC3xx芯片】TC3xx DMA模块详解

TC3xx DMA模块详解

qq_36056498的博客 5917

深度学习驱动的股票波动率预测:LSTM和Transformer模型的实战解析

股票市场的波动率一直是金融领域关注的焦点之一。波动率预测对于风险管理、期权定价和资产配置至关重要。深度学习模型,如长短时记忆网络(LSTM)和Transformer,已经在时间序列数据分析领域取得了显著的成就。本博客将向您展示如何使用这两种深度学习模型来进行股票波动率预测,提供清晰的思路和相应的Python代码,以帮助您理解和应用这一重要任务。

斌擎科技 974

java swt 双屏_java swt实现的2D效果(附代码)!

importjava.io.IOException;importjava.io.InputStream;importjava.util.HashSet;importjava.util.Iterator;importjava.util.MissingResourceException;importjava.util.Random;importjava.util.ResourceBundle;impo...

weixin_42511053的博客 278

YOLOV5 自动刷图脚本实战(十五)之如何找到正确的门

DXF是一个2D游戏,我们所看到的人物移动,其实是后面的背景在移动,我们所看到的画面,不过是一个完整背景中的一个镜头视角而已想要正确找到门的坐标,我们需要对不同的地图中的每个房间做一些配置信息。

qq_38892949的博客 2811

JavaFX 中的像素、分辨率与缩放比

JavaFX 中的像素、分辨率与缩放比总结与补充   JavaFX 中,一般需要对每个组件设置一个尺寸值,这个值实际上就是像素值(pixel,px)。像素值是什么呢?在 Windows 上,一般使用任何截图软件进行截图选定区域后,在左上角就会显示该区域的长(width)和宽(height),这个长和宽的单位就是像素。   不过要注意的问题是,像素有相对值与绝对值之分。这个问题有点复杂,这里详细解释一下。 绝对像素,指的是像素的最终实际值,也就是上面所说的截图软件中显示的值。关于这个值,在 Windows

暗诺星刻的博客 3909

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java多屏显示

Java实现多屏显示:不同或相同的窗口运行在不同的屏幕上。 参考:https://stackoverflow.com/questions/4627553/show-jframe-in-a-specific-screen-in-dual-monitor-configuration 代码: package application;      import java.awt.Color; import ...

haoranhaoshi的博客 3668

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 双屏_java – 双屏应用程序

如果我没有错,这可能对你有帮助.第一个位置在每个屏幕设备上的帧.frame1.setLocation(pointOnFirstScreen);frame2.setLocation(pointOnSecondScreen);最大化:frame.setExtendedState(Frame.MAXIMIZED_BOTH);工作实例:import java.awt.BorderLayout;import...

weixin_35725654的博客 353

java swt 双屏_Java中AWT、Swing与SWT三大GUI技术的原理与效率差异

看了一下对Java GUI讨论的帖子,所以写了一篇文章来阐述一下各种GUI技术的优劣。Java世界中,目前最知名的三大GUI库分别是:1、AWT(Abstract Window Toolkit)抽象窗口工具包库,包含于所有的Java SDK中2、Swing高级图形库,包含于Java2 SDK中3、来自IBM Eclipse开源项目的SWT(Standard Widget Toolkit)标准窗口部...

weixin_28788777的博客 331

java swt 双屏_JAVA.SWT/JFace: SWT高级控件之对话框

《Eclipse SWT/JFACE 核心应用》 清华大学出版社 9.8 对话框SWT中的对话框有消息提示框(MessageBox)、文件目录对话框(DirectoryDialog)、文件对话框(FileDialog)、颜色对话框(ColorDialog)、字体对话框(FontDialog)、打印对话框(PrintDialog)等。import java.io.File;public class ...

weixin_42509833的博客 268

java控制分屏_java实现arcgis地图分屏(双图)

java实现arcgis地图分屏(双图)java实现arcgis地图分屏(双图)本博文采用Java语言,利用arcgis api for javascript 4.16地图服务,实现地图分屏,直接上源码:视图对比html,body{width: 100%;height: 100%;padding: 0;margin: 0;}#targetWindow,#referenceWindow{height...

weixin_33846982的博客 667

如何设置电脑锁屏时间_电脑如何设置多屏显示?多屏显示的设置方法

多屏电脑即一台主机 ,二台显示器(或者三屏,四屏,六屏),一套键盘鼠标实现快速切换,各屏幕完全独立显示运行各自程序。接下来,我就教大家如何设置电脑多屏显示电脑双屏显示如何设置呢?现在电脑已成为我们必不可少的电子设备,但是有些童鞋工作类别比较多,就想设置多屏电脑,但是又不知如何设置。对此,小编整理了详细的图文步骤,希望能帮助到你1、先查看电脑显卡上有几个插口,看电脑显卡是否是允许双屏或更多屏显示。我...

weixin_39838829的博客 1786

双屏异显实现主副屏共享一个摄像头,又能显示不同的布局(Camera2.0)

1、activity.main布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"

qq_25330791的博客 2750

JAVA-多屏幕显示

以下代码适用于:一台主机连接多台显示器,JAVA Swing窗口需要分别显示到对应的显示器上。 GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] devices = env.getScreenDevices(); for (int i = 0; i &...

weixin_34100227的博客 423

Java 多显示器截屏

java 多显示器截屏

weixin_39827145的博客 657

Java GUI多屏幕的窗口设置

Java GUI多屏幕的窗口设置Java GUI多屏幕的窗口设置第一种方式第二种方式 Java GUI多屏幕的窗口设置 第一种方式 GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); //获取除去任务栏的剩余区域 java.awt.Rectangle maxi...

思维空间 2247

Java多个屏幕

以下代码示例演示了如何在 GraphicsEnvironment 中针对每个屏幕设备的每个 GraphicsConfiguration 创建 JFrame 对象。 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScree

岁月静好 1903

JFrame多屏显示

public static void showOnScreen( int screen, JFrame frame ) { GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment(); GraphicsDevice[] gs = ge.getScreenDevices();

Xu 3105
上一篇: Service exit with a return value of 143, jsvc -wait 10, tomcat使用liquibase超时
下一篇: 使用枚举Enum代替int常量
why_su
博客等级 码龄10年 86粉丝 38原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值