在Java中的窗口维度Gcanvas noob问题

时间:2010-02-26 16:47:19

标签: java acm.graphics

我是一名高中生,通过视频在斯坦福大学学习cs106a。

对于我目前的作业,我必须添加GObjects并将它们相对于窗口大小定位。

我目前正在尝试使用命令

获取窗口的宽度

我是一名高中生,通过视频在斯坦福大学学习cs106a。

对于我当前的作业,我必须添加GObjects并将它们相对于窗口大小进行定位。 Gcanvas是作为一个类创建的,并在另一个类中实现。

该类的头和构造函数如下:

import acm.graphics.*;
import java.awt.event.*;
import java.util.*;
import java.awt.*;

public class NameSurferGraph extends GCanvas
 implements NameSurferConstants, ComponentListener {

   /**
   * Creates a new NameSurferGraph object that displays the data.
   */
   public NameSurferGraph() {
      addComponentListener(this);
      drawGrid();
   }

我目前正在尝试使用drawGrid()方法中的命令获取窗口的宽度。使用命令:

int width = getWidth();

然而width = 0

可能导致这种情况的一件事:这是我用多个类编写的第一个程序之一。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

由于这是从构造函数调用的,因此看起来不太可能设置了宽度。我没有使用过GCanvas,但是java.awt.Canvas.getWidth返回0直到设置了宽度。