0

我是 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();
    }
}

为什么尺寸变了?

4

3 回答 3

5

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

您尚未设置大小,因此宽度和高度仍为 0。您仅设置了布局提示的大小。布局管理器使用这些来布局组件。由于您没有使用布局管理器,因此未设置画布的实际大小。

用于setSize(new Dimension(WIDTH,HEIGHT));设置实际大小。

于 2013-01-12T21:12:14.060 回答
2

尝试这样做:setSize(new Dimension(WIDTH, HEIGHT));

于 2013-01-12T21:14:44.877 回答
0

要打印它,可以尝试:System.out.print(test.getWidth()) 或:System.out.print(WIDTH)?抱歉,我并没有真正使用过 java.awt,但我希望第一个能用!

于 2013-01-12T21:50:26.807 回答