【发布时间】:2012-12-27 04:54:00
【问题描述】:
我是 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();
}
}
为什么会改变大小?
【问题讨论】:
-
当您的维度始终相同时,您只需创建一个新的 Dimension 对象并将其传递给这些方法中的每一个。您甚至可以将其声明为 static final 并使用它来代替 WIDTH 和 HEIGHT 常量。
-
我还有一个问题,最好现在问,而不是打开一个新问题。
-
“与其开一个新的,不如现在问。” 不是,不是。该站点(及其搜索引擎)是围绕每个线程一个问题的概念设计的。顺便说一句,添加@RomanC(或任何人)以通知他们有新评论)。
-
1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) 我怀疑宽度会一直显示
0,直到组件在屏幕上实现。 3) 在这个千年不要使用 AWT。使用 Swing。