Label in den Vordergrund einblenden

Rufus.Mueller

Bekanntes Mitglied
Ich habe eine Komponente corsibloecke die sich in einem Frame befindet. Die Komponente besteht aus einem schwarz eingefärbten Panel mit blauen, quadratischen Buttons. Habe keinen Layoutmanager für die Komponente verwendet, sondern setBounds, weil die Anordnung der blauen Buttons so schräg ist, dass jeder Layoutmanager versagt! 😉

Nun will ich ein weißes Label mit einem Text VOR die Komponente einblenden, schwarzes Panel und blaue Buttons sollen also verdeckt sein. Mit unten stehender Methode wird das Label so eingeblendet, dass es VOR dem schwarzen Panel aber HINTER den blauen Buttons liegt. Wie bekomme ich das $§5%%(="§$ Label hinter die blauen Buttons?

Java:
		public void wortDarbieten(String x) throws InterruptedException{	
			wortdarbietung.setText(x);
			wortdarbietung.setBackground(Color.WHITE);
			wortdarbietung.setOpaque(true);
			wortdarbietung.setVisible(true);
			Thread.sleep(1000);
			wortdarbietung.setVisible(false); 
			Thread.sleep(1000);
		}
 
Zuletzt bearbeitet:
Habe eine Teillösung gefunden. Ich nehme statt einem Label ein JTextField und setze das auf setEditable(false). Die o.g. Methode wird mehrfach hintereinander aufgerufen. Beim zweiten und n. Druchlauf ist es so wie gewünscht, das Textfeld ist im Vordergrund. Nur beim ersten Durchlauf ist es noch hinter den Buttons.
 
Ich habe jetzt die Klasse Corsiblöcke von ehemals einer Subklasse von JPanel zu einer Subklasse von JLayeredPane gemacht und entsprechend das Label hinzugefügt. Das ist jetzt auch wunderbar im Vordergrund, nur hat meine Komponete Corsibloecke seine schöne Farbe schwarz verloren und ist ganz grau.
 

Neue Themen


Zurück
Oben