gpt4 book ai didi

java - 为什么从 Toolkit 获取屏幕尺寸会产生不同的结果,具体取决于是否有 JFrame

转载 作者:行者123 更新时间:2023-12-01 17:44:01 34 4
gpt4 key购买 nike

Code without frame

Code with frame

图像显示了 2 个不同的代码,因此我想知道为什么两个代码中的屏幕尺寸结果会根据调用前是否创建了 JFrame 而有所不同。

如图所示,当没有 JFrame 时,它​​返回的结果与调用时尚未创建 JFrame 时返回的结果不同,因此对此现象的任何解释将不胜感激。

最佳答案

我没有遇到任何问题。您可能想详细说明您的系统属性

没有框架...

import java.awt.Toolkit;

public class Test {

static double screenWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
static double screenHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight();

static double screenWidth2;
static double screenHeight2;

public static void main(String[] args) {
new Test();

System.out.println("screenWidth = " + screenWidth + " ~ " + screenWidth2);
System.out.println("screenHeight = " + screenHeight + " ~ " + screenHeight2);
}

public Test() {
screenWidth2 = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
screenHeight2 = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
}
}

输出...

screenWidth = 1792.0 ~ 1792.0
screenHeight = 1120.0 ~ 1120.0

带框架

import java.awt.Toolkit;
import javax.swing.JFrame;

public class Test2 extends JFrame {

static double screenWidth = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
static double screenHeight = Toolkit.getDefaultToolkit().getScreenSize().getHeight();

static double screenWidth2;
static double screenHeight2;

public static void main(String[] args) {
new Test2();

System.out.println("screenWidth = " + screenWidth + " ~ " + screenWidth2);
System.out.println("screenHeight = " + screenHeight + " ~ " + screenHeight2);
}

public Test2() {
screenWidth2 = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
screenHeight2 = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
}
}

输出

screenWidth = 1792.0 ~ 1792.0
screenHeight = 1120.0 ~ 1120.0

系统属性

  • 操作系统:macOS Catalina,10.15.4
  • Java:11.0.1

关于java - 为什么从 Toolkit 获取屏幕尺寸会产生不同的结果,具体取决于是否有 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60894783/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com