Java Canvas大小问题

jul*_*ian 0 java canvas awt

我是Java的新手(虽然我对JavaScript有广泛的了解),

我正在努力工作Canvas,这导致了这个奇怪的问题.

如您所见,在我定义了它的大小之后Canvas,我正在尝试打印它.但它不能正确打印尺寸.

import java.awt.Canvas;
import java.awt.Dimension;

public class test extends Canvas {
    public static final int WIDTH = 180;
    public static final int HEIGHT = 250;

    public test() {
        setMinimumSize(new Dimension(WIDTH,HEIGHT));
        setMaximumSize(new Dimension(WIDTH,HEIGHT));
        setPreferredSize(new Dimension(WIDTH,HEIGHT));

        System.out.println(getWidth());
    }

    public static void main(String[] args) {
        new test();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么尺寸改变了?

And*_*ter 5

为什么打印零?如何正确打印画布的大小?

您尚未设置大小,因此宽度和高度仍为0.您只需设置布局提示的大小.布局管理器使用它们来布局组件.由于您未使用布局管理器,因此未设置画布的实际大小.

使用setSize(new Dimension(WIDTH,HEIGHT));设置的实际大小.