Ich arbeite an Schach-Spiel. Ich habe JFrame, wo ich Container habe, die 2D-Array von JLabel-Feldern enthalten. Jetzt möchte ich meinem Fenster eine Symbolleiste hinzufügen, aber wenn ich das möchte, bröckelt mein Schachbrett. Dieses ist ein Bild, wie mein Fenster mit Schachbrett wie Window aussieht. Ich möchte Symbolleiste am oberen Rand des Fensters hinzufügen, wo ich zum Beispiel Spiel speichern/laden kann usw. Auch ich würde gerne auf der rechten Seite einige Panel hinzufügen, wo ich vorherige Züge sehen kann. Ich würde gerne wissen, wie das geht, ohne mein Schachbrett zu zerstören. Hier ist mein Code:Hinzufügen von Symbolleiste zu GUI in JAVA
public class GUI extends JFrame implements Serializable{
public void initGUI() {
setTitle("Chess game");
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
ImageIcon img = new ImageIcon("pieceImages/whiteKing.png");
contentPane = getContentPane();
GridLayout gridLayout = new GridLayout(8, 8);
contentPane.setLayout(gridLayout);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
labels[i][j]=new JLabel(game.getBoard()[i][j].getImagePath());
contentPane.add(labels[i][j]);
}
}
setIconImage(img.getImage());
setResizable(false);
setSize(600, 600);
setLocationRelativeTo(null);
setVisible(true);
}
Ich habe Vorschlag einiger JPanel, wie es würde so aussehen:
public class Toolbar extends JPanel implements Serializable {
public Toolbar(){
JButton newGameBtn = new JButton("New game");
JButton regretBtn = new JButton("Regret move");
add(newGameBtn);
add(regretBtn);
}
}
Können Sie eine vollständige SSCCE enthalten? Sie haben den Code nicht angezeigt, in dem Sie die Symbolleiste zu Ihrer Anwendung hinzufügen. – Timmos