gpt4 book ai didi

java - 为什么JAVA中getWidth函数返回的值更多?

转载 作者:行者123 更新时间:2023-12-02 08:52:48 25 4
gpt4 key购买 nike

我预计输出为 120 和 220。但现在输出为 136 和 220。为什么?

import java.lang.*;
import java.awt.GraphicsConfiguration;
import javax.javax.swing.*;
import javax.swing.JFrame;

public class Main {
static GraphicsConfiguration gc;
public static void main(String[] args) {
JFrame frame = new JFrame(gc);
frame.setVisible(true);
frame.setSize(120,220);
System.out.println(frame.getWidth());
System.out.println(frame.getHeight());
}
}

最佳答案

这是因为窗口装饰 - 最小化、最大化、关闭按钮。我在 Windows 10 上对此进行了测试,创建的窗口无法调整为小于 136 像素。正如已经指出的,窗口系统可以根据需要改变几何形状。

这是 Windows 测试的屏幕截图:

Window with frame decorations

此外,如果您关闭窗口装饰,窗口将具有指定的尺寸(120x220):

JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.setVisible(true);
frame.setSize(120, 220);
System.out.println(frame.getWidth() + " - " + frame.getHeight());

打印数量:120 - 220

设置最小尺寸也可能存在问题,因此 setSize 不会低于最小尺寸,但事实并非如此。

关于java - 为什么JAVA中getWidth函数返回的值更多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59285246/

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