Verhindern der überlagerung von JComponenten

Status
Nicht offen für weitere Antworten.

Titanpharao

Bekanntes Mitglied
Guten Abend,

ich habe ein großes Problem bei meinem fertigen Programm.
Auf einem Fenster liegen 2 Panels. Auf einem der 2 Panels werden immer Labels oder Animationen abgespielt. Mein Problem liegt jetzt darin, dass immer wenn ein Label bewegt wird oder halt eine Animation auf diesen amläuft, das andere Panel überdeckt wird. Das sieht nicht sehr schön aus und verdeckt oft einen großen Teil der Benutzeroberfäche.
Ich weis, dass das null Layout schlecht ist etc...ja aber es ist dennoch sehr brachbar dafür. Bzw denke ich bei den anderen würde das gleiche passieren, wenn man 2 Componenten übereinander schiebt.
Kann man nicht eine "Rangliste" oder noch besser einfach "übermale" niemals einstellen?

Danke für Tipps und Tricks :bae:
 

Wildcard

Top Contributor
Vielleicht machst du es einfach falsch?
Components haben eine Z-Order in der sie gezeichnet werden.
 

Titanpharao

Bekanntes Mitglied
Ja ZOrder, habe ich auch mal was gehört. Nur wie kann ich die einstellen.

Ganz einfach, habe ein HUD und ein Spielfeld (ja die Chaos-Game-Programmierer). Nur auf dem Spielfeld bewegt sich was und dadurch wird immer das HUD überlagert. Sieht doof aus, isses auch. Habe mal ein Bild angefügt, bzw google mal nach euren Stichpunkten. Danke erstmal.

Das ist der Netzwerk Client, zum fertigen Rollenspiel. Kann ich ja mal im Games Teil posten. Nach 5 Monaten fertig, jetzt soll noch eine Spieler vs. Spieler variante entstehen. :D

http://www.pictureupload.de/pictures/130608003453_hmm.jpg
 

Wildcard

Top Contributor
Ich vermute einfach mal die Sache bewegt sich, also gibt es auch Threads. Zeig mal diesen Teil
 

Titanpharao

Bekanntes Mitglied
Das mal das aus der Netzwerk sache.

Code:
class EnemyPlayer extends JPanel{
		
		public int id;
		
		public GLabel animation=new GLabel(64,64,448,448,"","texture/animation/gewitter.gif");
		public GButton player=new GButton(192,192,64,64,"texture/monsters/qiangdao.gif");
		
		public EnemyPlayer(int idx,int x,int y) {
			this.id=idx;
			this.setLayout(null);
			this.setSize(448,448);
			this.setOpaque(false);
			this.player.setContentAreaFilled(false);
			this.player.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					engine.hud.anzeige.setAnzeige(engine.client.server.getSpielerName(id),engine.client.server.getSpielerHp(id));
				}});
			this.add(animation);
			this.add(player);
			setPosition(x, y);
		}
		
		public void setPosition(int x,int y){
			this.setBounds((x-3)*64, (y-3)*64, 448, 448);
		}	
	}

Also diese Objekt lege ich auf mein Spielfeld.

Dazu kommt dann zuerst der Spieler, das Hud, dann die Welt.

Code:
public HUD hud=new HUD();

class { ...


		player = new JLabel(new ImageIcon(playerimage.getSubimage(0, 128, 64, 64)));
		player.setBounds(256, 256, 64, 64);
		this.add(player);
		this.add(hud);
		this.setComponentZOrder(hud, 0);//Wenn ich das mache, sieht man nur noch das Hud nichts anderes mehr :/
		panel_area=client.createWorld();
		panel_area.setBounds(-(spieler.areax-4)*64, -(spieler.areay-4)*64,client.map.xhigh,client.map.yhigh);
		this.add(panel_area);
}
 

Titanpharao

Bekanntes Mitglied
LayeredPane das ist DAS Stichwort. Schau ich mir gleich nach dem Aufstehen mal an ;-) jetzt aber richtung Bett :wink:

Bei dem funktioniert das Wunderbar. Hoffentlich muss ich nicht zu viel Quellcode deswegen ändern :?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen Swing Verhindern, dass die VerticalScrollbar hüpft bei Pfeilup/-down tastendruck AWT, Swing, JavaFX & SWT 2
I Swing Verhindern, dass repaint() kaskadiert AWT, Swing, JavaFX & SWT 6
K JavaFX CSS Border (Verschiebung verhindern) AWT, Swing, JavaFX & SWT 4
S Swing Deselektion in JTable verhindern AWT, Swing, JavaFX & SWT 0
Thallius Swing "..." beim JLabel verhindern? AWT, Swing, JavaFX & SWT 3
Neumi5694 Event Handling ListSelectionEvents verhindern AWT, Swing, JavaFX & SWT 0
Neumi5694 Swing Gridbaglayout - automatische Anpassung verhindern AWT, Swing, JavaFX & SWT 1
I Monitor-Standyby verhindern AWT, Swing, JavaFX & SWT 6
V automatisches neuzeichnen verhindern AWT, Swing, JavaFX & SWT 3
J jFrame verschieben verhindern AWT, Swing, JavaFX & SWT 4
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
lumo SWT ScrolledComposite MouseWheel verhindern AWT, Swing, JavaFX & SWT 3
H minimieren verhindern AWT, Swing, JavaFX & SWT 4
L Swing setVisible(false) bei GridBagLayout - wie Layoutverschiebung verhindern? AWT, Swing, JavaFX & SWT 2
D Swing Dialog schließen verhindern bei Fehleingabe AWT, Swing, JavaFX & SWT 2
Developer_X Swing JTextArea verhindern von Tab AWT, Swing, JavaFX & SWT 2
DeeDee0815 AWT Flimmern verhindern AWT, Swing, JavaFX & SWT 4
S Swing Dynamische JPanels: Vertikales Strecken verhindern AWT, Swing, JavaFX & SWT 4
R Verhindern das Inhalt in JScrollPane breiter ist als JScrollPane..? AWT, Swing, JavaFX & SWT 10
C Swing Andocken einer ToolBar verhindern AWT, Swing, JavaFX & SWT 3
A Fenster maximieren (oben rechts) verhindern AWT, Swing, JavaFX & SWT 3
G Verhindern, das AbstractAction Text und Icons überschreibt? AWT, Swing, JavaFX & SWT 3
M ScreenUpdate verhindern AWT, Swing, JavaFX & SWT 6
T Minimieren und Maximieren eines JFrames verhindern AWT, Swing, JavaFX & SWT 9
D Sortierung beim Klicken auf Header einer JdbTable verhindern AWT, Swing, JavaFX & SWT 3
I jScrollpane: Scrollverschiebung durch Pfeiltasten verhindern AWT, Swing, JavaFX & SWT 2
M JCheckbox, das selektieren verhindern AWT, Swing, JavaFX & SWT 9
D JTable Spaltenauswahl verhindern AWT, Swing, JavaFX & SWT 3
U Flackern verhindern AWT, Swing, JavaFX & SWT 5
G JEditorPane Zeilenumbruch verhindern AWT, Swing, JavaFX & SWT 2
A JScrollPane Scrollleisten verhindern AWT, Swing, JavaFX & SWT 2
A JFileChooser verhindern von allFiles option AWT, Swing, JavaFX & SWT 2
G Verhindern von automatischen Zeilenum. in JTextPane AWT, Swing, JavaFX & SWT 2
B paint - Überlagerung verhindern AWT, Swing, JavaFX & SWT 3
S verhindern von drag-n-drop von swing componenten AWT, Swing, JavaFX & SWT 2
M JTextPane - Zeilenumbruch verhindern stoppen deaktivieren :) AWT, Swing, JavaFX & SWT 5
S DOS-Fenster verhindern AWT, Swing, JavaFX & SWT 2
P JInternalFrame: Verhindern das man es verschieben kann AWT, Swing, JavaFX & SWT 2
G JList: Anzeige von null-Werten verhindern AWT, Swing, JavaFX & SWT 3
M JTree: zusammenklappen verhindern AWT, Swing, JavaFX & SWT 3
D Schließen eines Fensters verhindern AWT, Swing, JavaFX & SWT 3
E Auf JPanel malen und davor JComponenten anzeigen AWT, Swing, JavaFX & SWT 12
N JComponenten in JList oder doch anders? AWT, Swing, JavaFX & SWT 0
bluerob JComponenten verschieben sich bei Fenster wechseln AWT, Swing, JavaFX & SWT 3
K paint-Methode überschrieben - trotzdem JComponenten zeichnen AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben