我是 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();
}
}
为什么尺寸会改变?
最佳答案
Why it prints zero?? how can I print the size of the canvas properly?
您尚未设置尺寸,因此宽度和高度仍为 0。您仅设置了布局提示的尺寸。布局管理器使用它们来布局组件。由于您没有使用布局管理器,因此未设置 Canvas 的实际大小。
使用setSize(new Dimension(WIDTH,HEIGHT));
设置实际大小。
关于Java Canvas 大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14297967/