Java Canvas大小问题

时间:2013-01-12 21:07:59

标签: 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();
    }
}

为什么要改变尺寸?

3 个答案:

答案 0 :(得分:5)

  

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

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

使用setSize(new Dimension(WIDTH,HEIGHT));设置实际尺寸。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

要打印它可能会尝试:System.out.print(test.getWidth()) 或者:System.out.print(WIDTH)? 对不起,我还没有真正使用java.awt,但我希望第一个有效!