J
java.jason
Gast
Hallo,
ich programmiere gerade an einem kleinen Würfelspiel. Eine Spielfigur soll über ein Spielfeld aus JLabels (Bildern) laufen. Wird auf einen JButton gedrückt wird der Wert x in der ActionPerformed Methode in 2 verändert (später durch eine Würfelmethode) und die Methode Spielfigur aufgerufen, die die Spielfigur auf das Spielfeld packen soll. Leider funktioniert das aber nicht. Die SPielfigur wird nicht angezeigt. Rufe ich die Methode Spielfigur() direkt in Spielfeld_center auf geht es. Kann mir das vielleicht jemand erklären?
Hier ein Ausschnitt aus meiner Gui Klasse:
ich programmiere gerade an einem kleinen Würfelspiel. Eine Spielfigur soll über ein Spielfeld aus JLabels (Bildern) laufen. Wird auf einen JButton gedrückt wird der Wert x in der ActionPerformed Methode in 2 verändert (später durch eine Würfelmethode) und die Methode Spielfigur aufgerufen, die die Spielfigur auf das Spielfeld packen soll. Leider funktioniert das aber nicht. Die SPielfigur wird nicht angezeigt. Rufe ich die Methode Spielfigur() direkt in Spielfeld_center auf geht es. Kann mir das vielleicht jemand erklären?
Hier ein Ausschnitt aus meiner Gui Klasse:
Code:
public class Gui extends JFrame{
...
//ContentPane Anlegen
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
//Komponenten einfügen
JButton button = new JButton("button");
contentPane.add(button, BorderLayout.SOUTH);
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x = 2;
spielfeld_center.setX(x);
spielfeld_center.Spielfigur();
}
});
...
}
}
Code:
public class Spielfeld_center extends JPanel {
...
public Spielfeld_center() {
//JPanel panel1 = new JPanel();
panel1.setBackground(new Color(0,0,0));
//GridBagLayout gbl = new GridBagLayout();
//GridBagConstraints gbc;
panel1.setLayout(gbl);
//1.for Schleife oben
for (int x2=0; x2<7; x2++)
{
gbc = makegbc(x2, 0, 1, 1);
gbc.fill = GridBagConstraints.BOTH;
JLabel bild = new JLabel(new ImageIcon (x2 + "oben.png"));
gbl.setConstraints(bild, gbc);
panel1.add(bild);
}
this.add(panel1);
}
public void Spielfigur()
{
//Spielfigur einfügen
gbc = makegbc (0,x,1,1);
JLabel bild2 = new JLabel(new ImageIcon ("figur1.png"));
gbl.setConstraints(bild2, gbc);
panel1.add(bild2);
System.out.println(x);
}
public void setX(int x)
{
this.x = x;
}
//Methode setze GridBagConstraints für GridBagLayout
private GridBagConstraints makegbc(
int z, int y, int width, int height)
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = z;
gbc.gridy = y;
gbc.insets = new Insets(2, 2, 1, 1);
return gbc;
}
}