der Zugriff auf eine variable von einer anderen Klasse

Sehr einfache Frage, aber ich kann es nicht tun. Ich habe 3 Klassen:

DrawCircle Klasse

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class DrawCircle extends JPanel
{
    private int w, h, di, diBig, diSmall, maxRad, xSq, ySq, xPoint, yPoint;
    public DrawFrame d;

    public DrawCircle()
    {
        w = 400;
        h = 400;
        diBig = 300;
        diSmall = 10;
        maxRad = (diBig/2) - diSmall;
        xSq = 50;
        ySq = 50;
        xPoint = 200;
        yPoint = 200;
    }

    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        g.setColor(Color.blue);
        g.drawOval(xSq, ySq, diBig, diBig);

        for(int y=ySq; y<ySq+diBig; y=y+diSmall*2)
        {
            for(int x=xSq; x<w-xSq; x=x+diSmall)
            {
                if(Math.sqrt(Math.pow(yPoint-y,2) + Math.pow(xPoint-x, 2))<= maxRad)
                    {
                        g.drawOval(x, y, diSmall, diSmall);
                    }               
            }
        }

        for(int y=ySq+10; y<ySq+diBig; y=y+diSmall*2)
        {
            for(int x=xSq+5; x<w-xSq; x=x+diSmall)
            {
                if(Math.sqrt(Math.pow(yPoint-y,2) + Math.pow(xPoint-x, 2))<= maxRad)
                {
                    g.drawOval(x, y, diSmall, diSmall);
                }   
            }
        }
    }
}

DrawFrame Klasse

public class DrawFrame extends JFrame
{
    public DrawFrame()
    {
        int width = 400;
        int height = 400;

        setTitle("Frame");
        setSize(width, height);

        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });

        Container contentPane = getContentPane();
        contentPane.add(new DrawCircle());
    }
}

CircMain Klasse

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CircMain 
{
    public static void main(String[] args)
    {
        JFrame frame = new DrawFrame();
        frame.show();
    }
}

Einer Klasse erstellt eine Bild, der andere zeichnet einen Kreis und füllt ihn mit kleineren Kreisen. In DrawFrame ich Breite und Höhe. In DrawCircle ich zugreifen zu können, müssen Sie die Breite und Höhe der DrawFrame. Wie mache ich das?

Habe ich versucht, ein Objekt und versucht, mit .getWidth und .getHeight aber nicht bekommen kann es arbeiten. Brauche ich speziellen code hier, weil ich habe versucht, eine Menge Dinge, aber kann nicht ankommen es zu wirken. Bin ich deklarieren Breite und Höhe falsch in DrawFrame? Erschaffe das Objekt der falsche Weg in DrawCircle?

Ebenfalls, die Variablen, die ich verwenden in DrawCirclesollte ich Sie im Konstruktor oder nicht?

InformationsquelleAutor der Frage | 2009-06-21

Schreibe einen Kommentar