1

私はスタンフォード大学でcs106aをビデオで撮っている高校生です。

現在の割り当てでは、GObjectを追加し、ウィンドウのサイズを基準にして配置する必要があります。

現在、コマンドを使用してウィンドウの幅を取得しようとしています

私はスタンフォード大学でcs106aをビデオで撮っている高校生です。

現在の割り当てでは、GObjectを追加し、ウィンドウのサイズを基準にして配置する必要があります。Gcanvasは1つのクラスとして作成され、別のクラスに実装されます。

クラスのヘッダーとコンストラクターは次のとおりです。

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();

ただし、幅= 0

これを引き起こしている可能性がある1つのこと:これは私が複数のクラスを使用して書いた最初のプログラムの1つです。

助けてくれてありがとう!

4

1 に答える 1

1

これはコンストラクターから呼び出されているため、幅が設定されている可能性は低いようです。GCanvasを使用したことはありませんが、幅が設定されるまでjava.awt.Canvas.getWidthは0を返します。

于 2010-02-26T17:17:48.870 に答える