LayoutManager Panels übereinander

J

jacky0612

Gast
Hi

ich entwickle gerade ein Brettspiel "Hut auf Hut". Es ist so ähnlich wie Mensch ärger dich nicht.
Ich hab da allerdings noch einige Probleme mit der Programmoberfläche. Man soll das Spielfeld sehen. Es ist ein JLabel.
Und darüber soll man die einzelnen Spielfiguren sehen. Die Spielfiguren sind auch jeweils JLabel's. Diese hab ich mit setBound die richtige Position und Größe zugefügt. Und alle Spielfiguren sind in einem JPanel. Und nun hab ich das SpielfigurenPanel und das Spielfeld in einem Panel hinzugefügt. Dieses Panel hat die Eigenschaft, dass das Layout ein OverlayLayout ist.
Wenn ich nun das Programm starte so sieht man nur das Spielfeld.

Kann mir jemand helfen??
Danke schonmal im vorraus.

hier der code:
Java:
import java.awt.*;
import javax.swing.*;


public class oberflaeche extends JPanel implements Runnable{

	private static final long serialVersionUID = -6756227432794084661L;
	private JFrame f    		= new JFrame("Hut auf Hut");
	private JLabel spielbrett = new JLabel (new ImageIcon( "Spielbrett 6P-1.jpg" ));
	final JPanel p1 = new JPanel();
    final OverlayLayout overlay = new OverlayLayout(p1);
	public JLayeredPane panelFiguren = new JLayeredPane();
	public JLabel g1 = new JLabel(new ImageIcon( "grün.jpg" ));
	public JLabel g2 = new JLabel(new ImageIcon( "schwarz.jpg" ));
	public JLabel g3 = new JLabel(new ImageIcon( "grün.jpg" ));
	public JLabel g4 = new JLabel(new ImageIcon( "grün.jpg" ));
	
	public oberflaeche (int h, int b){
		this.setPreferredSize(new Dimension(h,b));
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		spielbrett.setPreferredSize(new Dimension(512,512));
		p1.setPreferredSize(new Dimension(512,512));
		panelFiguren.setPreferredSize(new Dimension(512, 512));
		
		spielbrett.setSize(512,512);
		panelFiguren.setSize(512,512);
		p1.setSize(512,512);
		g1.setBounds(394, 398, 30, 30);
		g2.setBounds(418, 370, 30, 30);
		g3.setBounds(439, 335, 30, 30);
		g4.setBounds(451, 294, 30, 30);
		
		p1.setLayout(overlay);
		panelFiguren.add(g1);
        panelFiguren.add(g2);
        panelFiguren.add(g3);
        panelFiguren.add(g4);
        p1.add(spielbrett, 0);
        p1.add(panelFiguren, 1);
		
		f.getContentPane().add(p1, BorderLayout.WEST);
		
		f.pack();
		f.setVisible(true);
	}
	
	public static void main (String[] args) { //main-methode
		new oberflaeche(900, 600);
	}

	@Override
	public void run() {
		// TODO Auto-generated method stub
		
	}
}

PS: die Run-Methode brauche ich später noch und ist für die Oberflaeche unwichtig deshalb ist sie leer.
 
J

jacky6012

Gast
das hilft mir im moment auch nicht weiter ich hab mir das zwar angeschaut, aber immer noch nicht meinen Fehler gefunden.
 

Marco13

Top Contributor
Das OverlayLayout ist wohl in erster Linie für die interne Verwendung innerhalb einer LayerdPane gedacht. Es wäre wohl besser, das nicht direkt selbst zu verwenden, sondern stattdessen dort eine LayeredPane einzusetzen.

Ansonsten, wichtig: Wenn man eine Component zu einer LayeredPane hinzufügt, gibt man ja die Layer an
pane.add(component, layer);

Die übergebene Layer darf aber KEIN 'int' sein, sondern MUSS ein Integer sein. Siehe auch den vorletzten Punkt auf dieser Seite

Java:
import java.awt.*;
import javax.swing.*;


public class oberflaeche2 extends JPanel implements Runnable{

    private static final long serialVersionUID = -6756227432794084661L;
    private JFrame f            = new JFrame("Hut auf Hut");
    private JLabel spielbrett = new JLabel (new ImageIcon( "state3.jpg" ));
    final JLayeredPane p1 = new JLayeredPane();
    public JLayeredPane panelFiguren = new JLayeredPane();
    public JLabel g1 = new JLabel(new ImageIcon( "image01.png" ));
    public JLabel g2 = new JLabel(new ImageIcon( "image02.png" ));
    public JLabel g3 = new JLabel(new ImageIcon( "image03.png" ));
    public JLabel g4 = new JLabel(new ImageIcon( "image04.png" ));

    public oberflaeche2 (int h, int b){
        this.setPreferredSize(new Dimension(h,b));
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        spielbrett.setPreferredSize(new Dimension(512,512));
        p1.setPreferredSize(new Dimension(512,512));
        panelFiguren.setPreferredSize(new Dimension(512, 512));
        panelFiguren.setOpaque(false);
        panelFiguren.setLayout(null);

        spielbrett.setSize(512,512);
        panelFiguren.setSize(512,512);
        p1.setSize(512,512);
        g1.setBounds(394, 398, 30, 30);
        g2.setBounds(418, 370, 30, 30);
        g3.setBounds(439, 335, 30, 30);
        g4.setBounds(451, 294, 30, 30);

        panelFiguren.add(g1, new Integer(0));
        panelFiguren.add(g2, new Integer(1));
        panelFiguren.add(g3, new Integer(2));
        panelFiguren.add(g4, new Integer(3));
        p1.add(spielbrett, new Integer(0));
        p1.add(panelFiguren, new Integer(1));

        f.getContentPane().add(p1, BorderLayout.CENTER);

        f.pack();
        f.setVisible(true);
    }

    public static void main (String[] args) { //main-methode
        new oberflaeche2(900, 600);
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub

    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I 2 Panels übereinander, 1 transparent AWT, Swing, JavaFX & SWT 2
S mehere panels übereinander AWT, Swing, JavaFX & SWT 2
E Panels übereinander darstellen AWT, Swing, JavaFX & SWT 2
M JTabbedPane zeigt alle Panels übereinander an :( AWT, Swing, JavaFX & SWT 8
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
I GUI, das verschiedene Panels hat (Von Seite zu Seite navigieren) AWT, Swing, JavaFX & SWT 7
G LayoutManager Panels anordnen über Schleifenvariablen AWT, Swing, JavaFX & SWT 7
B Bounds aller Panels aktualisieren AWT, Swing, JavaFX & SWT 0
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L Swing Panels bewegen wie Windows 10 Kacheln AWT, Swing, JavaFX & SWT 0
G LayoutManager Beliebige Anzahl von Panels für LayoutManager AWT, Swing, JavaFX & SWT 3
T Swing Bug: mehrfache Panels bei Mouseover? AWT, Swing, JavaFX & SWT 11
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
K Event Handling Über JMenuBar die diversen Panels anzeigen AWT, Swing, JavaFX & SWT 10
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
R Swing panels nebeneinander mit BoxLayout.X_AXIS AWT, Swing, JavaFX & SWT 4
P Swing Panels Wechseln AWT, Swing, JavaFX & SWT 9
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
R KeyListener in mehreren Panels AWT, Swing, JavaFX & SWT 5
H zwei gleich große Panels getrennt durch ein weiteres Panel AWT, Swing, JavaFX & SWT 10
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
V AWT Panels überlappen AWT, Swing, JavaFX & SWT 1
K Panels mit eigenen Controllern in Main-View einbauen AWT, Swing, JavaFX & SWT 4
U Swing Panels im Contentpane durchschalten AWT, Swing, JavaFX & SWT 1
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
S Swing Plätze von 2 panels vertauschen AWT, Swing, JavaFX & SWT 4
T Panels mit Button verbinden AWT, Swing, JavaFX & SWT 3
F Swing Wie verwalte ich meine Panels richtig? AWT, Swing, JavaFX & SWT 2
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
D Stapelung von Panels AWT, Swing, JavaFX & SWT 6
V Swing MouseEvents bei gestapelten Panels AWT, Swing, JavaFX & SWT 2
B JApplet zwei Panels autobreite? AWT, Swing, JavaFX & SWT 2
kodela Teil eines Panels als Graphik speichern AWT, Swing, JavaFX & SWT 3
Kenan89 LayoutManager MigLayout Positionierung von Panels AWT, Swing, JavaFX & SWT 4
A Panels in JavaFX zur Laufzeit erzeugen AWT, Swing, JavaFX & SWT 5
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
L Mehre Panels einen Frame zuweisen AWT, Swing, JavaFX & SWT 11
F Panels über buttons zu anderen Panels hinzufügen AWT, Swing, JavaFX & SWT 2
X Swing Resizing der Komponenten innheralb eines Panels AWT, Swing, JavaFX & SWT 2
J Problem mit der Höhe eines Panels AWT, Swing, JavaFX & SWT 11
M Swing JTabbedPane Panels deaktivieren AWT, Swing, JavaFX & SWT 2
S Swing (Nicht) Vergrößern von Panels AWT, Swing, JavaFX & SWT 3
S Drag and Drop über 2 Panels AWT, Swing, JavaFX & SWT 2
B LayoutManager Zeilenweise Anordnung von Panels AWT, Swing, JavaFX & SWT 19
B Panels wechseln auf Knopfdruck AWT, Swing, JavaFX & SWT 17
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
P Von einem Panel auf die Objekte des anderen Panels zugreifen AWT, Swing, JavaFX & SWT 3
C Aufklappbare Panels AWT, Swing, JavaFX & SWT 2
D Panels Dynamisch zur Laufzeit austauschen AWT, Swing, JavaFX & SWT 2
D Vererbung von Panels AWT, Swing, JavaFX & SWT 8
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
B Panels stapeln, geht das? AWT, Swing, JavaFX & SWT 7
S GridBagLayout Panels AWT, Swing, JavaFX & SWT 2
W Panels vertikal anordnen AWT, Swing, JavaFX & SWT 10
R Swing Kommunikation zwischen Panels AWT, Swing, JavaFX & SWT 2
F Abschaltbare Panels AWT, Swing, JavaFX & SWT 5
aze Layout auf Teil eines Panels anwenden AWT, Swing, JavaFX & SWT 5
M Swing Alle Elemente eines Panels? AWT, Swing, JavaFX & SWT 9
I Swing Positionieren von Panels mit layoutManager AWT, Swing, JavaFX & SWT 6
B Java Grafiken an bestimmter Positon des Panels anzeigen AWT, Swing, JavaFX & SWT 6
S import von Klassen (zwei Panels eine Form) AWT, Swing, JavaFX & SWT 39
K Zwei Panels zentriert anordnen AWT, Swing, JavaFX & SWT 3
H2SO3- AWT seltsammes verhalten eines Panels AWT, Swing, JavaFX & SWT 9
S Buttons, Panels etc. zu einer Teilkomponente hinzufügen AWT, Swing, JavaFX & SWT 5
Z Swing Gif's in panels einfügen AWT, Swing, JavaFX & SWT 11
N Überschneidung von Panels umgehen AWT, Swing, JavaFX & SWT 3
D java.lang.IllegalArgumentException beim Darstellen eines Panels AWT, Swing, JavaFX & SWT 7
T Border eines Panels nicht an der rechten Kante anzeigen AWT, Swing, JavaFX & SWT 7
F name des panels in der ein button liegt rausfinden AWT, Swing, JavaFX & SWT 10
R AWT: Aufteilung mit Panels? AWT, Swing, JavaFX & SWT 2
L Focus für KeyListener auf verschiedene Panels AWT, Swing, JavaFX & SWT 2
G Ein Frame mit mehreren austauschbaren Panels AWT, Swing, JavaFX & SWT 3
I Applet mit Panels (so richtig, gehts besser?) AWT, Swing, JavaFX & SWT 3
G designfrage zu 2 panels AWT, Swing, JavaFX & SWT 2
hdi zeitgleiches fokusieren von zwei panels AWT, Swing, JavaFX & SWT 2
G 2 Panels, 2 Listener, 1 Problem AWT, Swing, JavaFX & SWT 2
G Im applet auf panels zeichnen AWT, Swing, JavaFX & SWT 9
G Im Applet Panels anzeigen lassen AWT, Swing, JavaFX & SWT 2
G Editierbarkeit aller Komponenten eines Panels AWT, Swing, JavaFX & SWT 5
R Kleine Panels auf einem großen Panel frei platzieren AWT, Swing, JavaFX & SWT 11
G Remove Panels von JFrame AWT, Swing, JavaFX & SWT 5
M Ausrichtung eines Panels AWT, Swing, JavaFX & SWT 7
H Frames oder Panels für mehrere Ansichten? AWT, Swing, JavaFX & SWT 4
M Problem mit Cursor für Panels AWT, Swing, JavaFX & SWT 4
Kidao Mehrer Panels, mit Buttons in einem Frame abwechselnd laden? AWT, Swing, JavaFX & SWT 3
M Hallo Herr Uhres, Frage zu DND_Demo: Ausrichten der Panels:) AWT, Swing, JavaFX & SWT 4
O Panels ein und ausblenden - geht das? AWT, Swing, JavaFX & SWT 3
O eine Frage zu Panels AWT, Swing, JavaFX & SWT 10
M Problem bei Repaint von Panels AWT, Swing, JavaFX & SWT 2
M Größe des Panels ändern? AWT, Swing, JavaFX & SWT 3
O haben panels von anfang an einen dummen rand? AWT, Swing, JavaFX & SWT 19
G Zwischen Panels in einem JFrame wechseln AWT, Swing, JavaFX & SWT 4
M JTree und Anzeige des entsprechenden Panels AWT, Swing, JavaFX & SWT 5
M JList mit unbestimmter Anzahl Panels füllen AWT, Swing, JavaFX & SWT 4
K 2 Panels und Layouts AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben