سؤال

أنا طالب في المدرسة الثانوية يأخذ 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();

ومع ذلك العرض = 0

شيء واحد يمكن أن يسبب هذا: هذا هو أحد البرامج الأولى التي كتبتها باستخدام فصول متعددة.

شكرا للمساعدة!

هل كانت مفيدة؟

المحلول

نظرًا لأن هذا يتم استدعاؤه من المُنشئ ، فمن غير المرجح أن يكون العرض قد تم تعيينه. لم أستخدم gcanvas ، ولكن java.awt.canvas.getWidth يعود 0 حتى يتم تعيين عرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top