Java-Anfängerfrage

Hallo,
Ich mache gerade ein Applet in dem eine Linie gezeichnet werden soll.

Jetzt hab ich eine Klasse in der ich eine methode
paint(Graphics g) gemacht habe
Aber ich weiß nicht genau, wie ich die jetzt zum einsatz kommen lasse.
Die Klasse in der sie steht ist ein JPanel und ich hab dieses auch in die main eingefügt durch add(PanelName);
Aber was muss ich in die main schreiben um sie auszulösen?

Normalerweise würde ich sie aufrufen durch
PanelName.paint(parameter);
aber da ist dieses „Graphics g“ in der klammer dem ich irgendeinen wert geben müsste und ich weiß nicht welchen…

ich bin mir ziemlich sicher, dass die frage bescheuert ist, aber ich weiß trotzdem nicht weiter.
Eine möglich einfache Antwort wäre schön.

Danke im voraus

Ich glaube du musst dazu noch einiges lernen.
Mach doch mal das sun-tutorial:
http://java.sun.com/docs/books/tutorial/uiswing/comp…
Ein Applet hat bzw. braucht keine main und wenn eine da ist, dann wird sie nicht aufgerufen.
Der Browser ruft stattdessen die von Applet oder JApplet geerbte init-Methode auf:
public void init() {
// dein Initialisierungscode
}
Die kannst du direkt in deiner Applet-Klasse überschreiben.
Auch die paint(Graphics g)-Methode musst du nicht aufrufen,
sondern auch sie wird automatisch aufgerufen, nach dem init() aufgerufen wurde.
Da du nicht die paint-Methode des Applets direkt, sondern die eines JPanels überschreibst.
Musst du zusätzlich darauf achten, dass dein Panel auch sichtbar ist.
So weit ich mich erinnere ist der Standard-LayoutManager(Ich hoffe du weist was das ist?) FlowLayout.
Bei diesem wird alles so klein wie möglich dargestellt
und da dein JPanel leer ist, wirst du es wohl auch nicht sehen.
Versuch mal stattdessen in deinem Applet in der init(),
das Panel wie folgt hinzuzufügen:
setLayoutManager(new GridLayout());
add(new DeinPanelMitDerPaintMethode())

Und schreib mal in deiner paint-Methode sowas wie:
g.drawLine(1,1,100,100);

Sie wird automatisch aufgerufen, wenn das Applet selbst gezeichnet wird.
Wenn alles richtig gemacht wurde, müsstest jetzt eine 45°-Linie von (1,1) nach (100,100) sehen?
Mach aber lieber einfach mal das Tutorial und beschäftige dich mit LayoutManager, wenn du mit Panels o.Ä. arbeiten möchtest.
http://java.sun.com/docs/books/tutorial/uiswing/layo…
Sonst musst du sicher wieder nach Dingen fragen,
die du dir auch leicht selbst aneignen kannst.

Viel Erfolg + Gruß
VoidZer0

Guten Morgen…
kannst ja mal etwas Programmcode schicken,…
Liebs Grüßl, Mömchen

Ich bin selbst nicht so bewandert in Java aber, ohne jetzt die vorherigen Posts aushebeln zu wollen, ich glaube das was du suchst ist der wunderschöne 1 Zeiler repaint(); … sobald er da an kommt führt er paint aus …

  1. Tip
    Du wirst schnell feststellen, dass das Bild sobald ein paar mehr Objekte auftauchen wie wild anfangen wird zu flackern. Das Stichwort um das zu beheben ist Doublebuffering, dass sollte weiterhelfen sofern du es nicht sowieso schon in deinem Code hast.

Wenn ich jetzt deine Frage irgendwie falsch verstanden hab ignorier einfach alles und lass dir von Leuten helfen die wirklic Ahnung haben :smiley:

Mfg paul Blondeau