Probleme mit paint(Graphics g)

Status
Nicht offen für weitere Antworten.

UdjENE

Mitglied
hi, also wenn ich was in meinem Applet zeichne dann wird es einwandfrei dargestellt. jedoch wenn ich ein anderes Fenster über die Zeichnung im Applet bewege, dann wird die Zeichnung gelöscht.

Code:
Container cp = getContentPane();
	
	public void paint(Graphics g) {
		super.paint(g);
		g.drawOval(20, 20, 100, 100);
	}
	
	public void init(){
		setSize(200, 200);
		cp.setLayout(null); 
		cp.setVisible(true);
		cp.setLayout(null);
		repaint();
	}

liegt es am Code oder ist es generell bei Applets so???
 
S

SlaterB

Gast
vielleicht nur paintComponent() überschreiben?
ist das bei einem JFrame auch so? (wäre leichter zu testen)
 

UdjENE

Mitglied
mit paintComponent() wird leider gar nix gezeichnet.
vielleicht liegts daran, dass ich von der JApplet Klasse erbe?? heir der komplette Code:

Code:
public class MyPaint extends JApplet {
	
	Container cp = getContentPane();
	
	public void paint(Graphics g) {
		super.paint(g);
		g.drawOval(20, 20, 100, 100);
	}
	
	public void init(){
		setSize(200, 200);
		cp.setLayout(null); 
		cp.setVisible(true);
		cp.setLayout(null);
		repaint();
	}
}
 
B

Beni

Gast
Das ContentPane oder das RootPane direkt über dem Applet wird sagen "hier muss garnicht gezeichnet werden, *ich* zeichne ja schon alles"...
Der Component-Baum muss bei solchen Aktionen berücksichtigt werden.

Schreib dir dock ein JPanel, das ein Oval zeichnet und setze dieses JPanel auf das ContentPane.
 

UdjENE

Mitglied
@Beni: hat geklappt. kann ich nun auch irgendwie z.B Buttons einfügen? weil wenn ich cp.Layout(null) setze, wird zwar der Button angezeigt aber nix gezeichnet.
 
B

Beni

Gast
SlaterB hat gesagt.:
verstehe ich nicht, warum sagt es das? warum sonst nicht?
Das ist eine Optimierung von Swing: wenn zwei Components übereinander liegen, kann Swing verhindern, dass die hintere Component gezeichnet wird, weil sie ja von der vorderen verdeckt wird.

Hier wurde mit dem "repaint" in "init" aber explizit gesagt, dass die hintere Component gezeichnet werden muss. Der neue Code von "paint" ruft zuerst die Original-paint auf. Damit wird die hintere Component (das JApplet selbst) gezeichnet. Dann wird die vordere Component (das JRootPane, bzw. das ContentPane) gezeichnet, immernoch von der Original-paint aus. Erst dann, wird das Oval gezeichnet - über allem anderen was schon gezeichnet wurde.

Die Reihenfolge der Zeichenoperationen ist falsch implementiert.

@UdjENE
Sagt mir ohne Code nichts, aber es gibt Lösungen.
Falls du es noch nicht getan hast: überschreibe "paintComponent( Graphics g )" anstelle von "paint( Graphics g )" in diesem JPanel.
 
S

SlaterB

Gast
ah, ok,
du meinst, dass das ContentPane verhindert, dass das JApplet mit dem Oval gezeichnet wird,
da das ConentPane den ganzen Raum ausfüllt (und davor liegt),
sag das doch ;)
 

UdjENE

Mitglied
ok klappt jetzt. ich muss den Button im Konstruktor vom JPanel einfügen.

Code:
public DrawPanel(){
		setLayout(null);
		BConnect.setBounds(10, 300, 155, 20);
        BConnect.setText("connect");
        add(BConnect,this);
	}

danke für die tipps.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
E Maven Probleme beim Arquillian Deployen Tools - Maven, Gradle, Ant & mehr 0
D [ERLEDIGT] Probleme mit Authorization in Nexus und mvn deploy plugin Tools - Maven, Gradle, Ant & mehr 1
schalentier Probleme mit Jenkins Tools - Maven, Gradle, Ant & mehr 7
G Probleme Jenkins mit Maven einzurichten Tools - Maven, Gradle, Ant & mehr 4
P Maven Download-Probleme beim Build Tools - Maven, Gradle, Ant & mehr 5
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
S Probleme mit Kombination Java JApplet;MySQL;Webserver Tools - Maven, Gradle, Ant & mehr 3
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
T Launch4j: eventuell Klassenpfad Probleme Tools - Maven, Gradle, Ant & mehr 4
H WebStart-Probleme mit JRE Version 1.6.0_18 Tools - Maven, Gradle, Ant & mehr 1
E Probleme mit Buckminster unter eclipse 3.4 Tools - Maven, Gradle, Ant & mehr 11
ARadauer Probleme mittels scp bei ant Tools - Maven, Gradle, Ant & mehr 1
F Probleme mit Java WebStart; Hauptklasse konnte nicht gef. Tools - Maven, Gradle, Ant & mehr 18
M Probleme mit JApplet Tools - Maven, Gradle, Ant & mehr 20
M Mein erstes Applet macht Probleme Tools - Maven, Gradle, Ant & mehr 4
M probleme mit signieren Tools - Maven, Gradle, Ant & mehr 6
C 3 "kleine" Probleme zu meinem Applet Tools - Maven, Gradle, Ant & mehr 11
A Probleme bei übergabe von Variabeln im Applet Tools - Maven, Gradle, Ant & mehr 9
M WebStart 1.6 Probleme Tools - Maven, Gradle, Ant & mehr 8
U Probleme beim Reloaden des Applets im Browser Tools - Maven, Gradle, Ant & mehr 9
R Probleme bei Applet mit dem IE7? Tools - Maven, Gradle, Ant & mehr 2
P MEDIA-Tracker macht Probleme? Tools - Maven, Gradle, Ant & mehr 6
0 Webstart-Probleme unter Java6 Tools - Maven, Gradle, Ant & mehr 2
R Slash-Probleme durch File Tools - Maven, Gradle, Ant & mehr 2
G Probleme mit Texteingabe in Applets Tools - Maven, Gradle, Ant & mehr 2
E Probleme mit Java WebStart Tools - Maven, Gradle, Ant & mehr 10
H Probleme mit setFont() Tools - Maven, Gradle, Ant & mehr 1
A Probleme beim Anzeigen des Applets Tools - Maven, Gradle, Ant & mehr 5
H Probleme beim Applet signieren Tools - Maven, Gradle, Ant & mehr 10
M Probleme mit Applets Tools - Maven, Gradle, Ant & mehr 5
S Probleme mit ActionListener bzw. actionPerformed Tools - Maven, Gradle, Ant & mehr 2
P Probleme mit IE und sp2 - Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 11
F Probleme mit Jar bzw jar-Archiven Tools - Maven, Gradle, Ant & mehr 3
S Probleme mit einem Applet Tools - Maven, Gradle, Ant & mehr 2
P Probleme mit Applet Tools - Maven, Gradle, Ant & mehr 6
M paint() bei maximieren des fensters Tools - Maven, Gradle, Ant & mehr 3
B String in paint Methode anzeigen Tools - Maven, Gradle, Ant & mehr 5
H paint und repaint ?!? Tools - Maven, Gradle, Ant & mehr 2
F paint methode richtig aufrufen Tools - Maven, Gradle, Ant & mehr 10
E Card beim CardLayoutManager mit paint() bemalen??? Tools - Maven, Gradle, Ant & mehr 4
M die paint-methode Tools - Maven, Gradle, Ant & mehr 2
B Graphics in der gesamten Klasse verfügbar Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen

Neue Themen


Oben