V1tzl1
Lt. Junior Grade
- Registriert
- Sep. 2004
- Beiträge
- 384
Moin, nach Stunden/Tagelangen gelese über Applets und Objekten hab ichs anscheinend immer noch nicht begriffen , da dachte ich, ich frag hier mal nach.
Wie bekomme ich die Graphics Variable in ein anderes Objekt, dass auch zeichnen soll
Folegenden Code hab ich schonmal gebastelt, aber mit der Graphicsvari hab ich schon alles versucht, ich hab keinen Plan, wie ich das anstellen soll.
Ich hab in mehrzeiligen Kommentaren (/* */) nochmal markiert, wo die Stellen sind.
Ich hoffe ien par von den "Java Gurus" hier können mir mal schnell unter die Arme greifen.
MfG V1tzl1
PS: Falls es wichtig sein sollte, ich nutze den J2 SE 5.0 (jdk 1.50) Compiler von Sun unter Windoof
Wie bekomme ich die Graphics Variable in ein anderes Objekt, dass auch zeichnen soll
Folegenden Code hab ich schonmal gebastelt, aber mit der Graphicsvari hab ich schon alles versucht, ich hab keinen Plan, wie ich das anstellen soll.
Ich hab in mehrzeiligen Kommentaren (/* */) nochmal markiert, wo die Stellen sind.
Code:
import java.applet.Applet;
import java.awt.*;
import java.lang.Math.*;
public class Applets extends Applet
{
Graphics Gr;
public void paint ( Graphics gr ) /* Hier bekomme ich gr */
{
Gr = gr;
setBackground( Color.pink );
Gr.drawString("CSF", 395, 20);
Plane pl1 = new Plane(250,250,90);
}
}
class Plane
{
/*
In diese Klasse soll die Variable gr (klein) mit dem Namen Gr (Groß-klein) verfügbar sein.
Die Namen sind unterschiedlich, damit sie sich nicht überschneiden. Wenn man die beide
auch gleich schreiben kann, würd ich das sogar vorziehen.
*/
// Daten
int x,y,winkel,Fwinkel;
double Fbetrag;
// Kopnstruktoren
Plane(int px, int py, int pwinkel)
{
x = px;
y = py;
winkel = pwinkel;
draw(Color.blue);
}
// Methoden
void draw(Color col)
{
double xFrom, yFrom, xTo, yTo;
Gr.setColor( col ); /* Hier brauch ich zb Gr */
// A -> B
xFrom = x + (Math.cos(Math.toRadians(winkel))* 20);
yFrom = y - (Math.sin(Math.toRadians(winkel))* 20);
xTo = x + (Math.cos(Math.toRadians(winkel+160))* 15);
yTo = y - (Math.sin(Math.toRadians(winkel+160))* 15);
Gr.drawLine((int)xFrom, (int)yFrom, (int)xTo, (int)yTo);
// B -> C
xFrom = xTo;
yFrom = yTo;
xTo = x + (Math.cos(Math.toRadians(winkel+180))* 7);
yTo = y - (Math.sin(Math.toRadians(winkel+180))* 7);
Gr.drawLine((int)xFrom, (int)yFrom, (int)xTo, (int)yTo);
// C -> D
xFrom = xTo;
yFrom = yTo;
xTo = x + (Math.cos(Math.toRadians(winkel+200))* 15);
yTo = y - (Math.sin(Math.toRadians(winkel+200))* 15);
Gr.drawLine((int)xFrom, (int)yFrom, (int)xTo, (int)yTo);
// D -> A
xFrom = xTo;
yFrom = yTo;
xTo = x + (Math.cos(Math.toRadians(winkel))* 20);
yTo = y - (Math.sin(Math.toRadians(winkel))* 20);
Gr.drawLine((int)xFrom, (int)yFrom, (int)xTo, (int)yTo);
}
}
Ich hoffe ien par von den "Java Gurus" hier können mir mal schnell unter die Arme greifen.
MfG V1tzl1
PS: Falls es wichtig sein sollte, ich nutze den J2 SE 5.0 (jdk 1.50) Compiler von Sun unter Windoof
Zuletzt bearbeitet:
(Tja diese fiese deutsch Gramattik ;))