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:
PS: die Run-Methode brauche ich später noch und ist für die Oberflaeche unwichtig deshalb ist sie leer.
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.