paintComponent in den Vordergrund?

Status
Nicht offen für weitere Antworten.

ElViZ

Mitglied
Hallo,

ich steh grad aufm Schlauch. Ich hab ein Panel (contentPanel), auf dem ich z.B. ein weiteres Panel (topPanel) adde und mit paintComponent eine Linie zeichnen lasse. Problem dabei ist aber, dass das topPanel teilweise die gezeichnete Linie verdeckt. Kann ich der Linie irgendwie sagen dass sie im Vordergrund gezeichnet werden soll?

paintComponent-Methode:

Code:
class DrawLine extends JPanel 
{ 
  protected void paintComponent( Graphics g ) 
  { 
    super.paintComponent( g ); 
    g.drawLine( 1, 1, 100, 10 ); 
  } 
}

Code:
contentPanel.setBounds(Functions.getBoundsFromString(XMLData.BOUNDS_CONTENT_PANEL));
contentPanel.setBackground(Color.gray);
contentPanel.setLayout(null);	
contentPanel.add(new DrawLine());
contentPanel.add(topPanel);


Danke schonmal für Antworten.
 
Da müsstest du ein durchsichtiges Panel machen, und über das "topPanel" legen.

In diesem Panel:
- setOpaque( false ) aufrufen (damit Swing weiss, dass das Panel durchsichtig ist)
- contains überschreiben und immer false zurückgeben (damit die Maus durchkommt)

Beispiel, Linie 126 bis 140
 
Ah super danke! Auf die Idee bin ich erst gar nicht gekommen :/
Aber läuft jetzt, danke 🙂

Edit: Wo kann man hier nochmal das "Gelöst-Häkchen" setzten?
Edit2: Ach, habs gefunden... ist aber auch versteckt... man man man 😀
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben