Added dynamic color swap button text

This commit is contained in:
Kai S. K. Engelbart 2019-07-23 09:59:22 +02:00
parent 2b00116837
commit 0e75aae421
Signed by: kske
GPG Key ID: 8BEB13EC5DF7EF13

View File

@ -8,6 +8,7 @@ import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.JPanel;
import dev.kske.chess.board.Piece.Color;
import dev.kske.chess.game.Game; import dev.kske.chess.game.Game;
/** /**
@ -18,9 +19,10 @@ import dev.kske.chess.game.Game;
*/ */
public class MainWindow { public class MainWindow {
private JFrame mframe; private JFrame mframe;
private BoardPane boardPane; private BoardPane boardPane;
private Game game; private Game game;
private Color activeColor;
/** /**
* Launch the application. * Launch the application.
@ -66,24 +68,38 @@ public class MainWindow {
mframe.getContentPane().add(toolPanel, BorderLayout.NORTH); mframe.getContentPane().add(toolPanel, BorderLayout.NORTH);
JButton btnRestart = new JButton("Restart"); JButton btnRestart = new JButton("Restart");
btnRestart.addActionListener((evt) -> { if (game != null) game.reset(); game.start(); }); btnRestart.addActionListener((evt) -> {
if (game != null)
JButton btnSwapColors = new JButton("Swap Colors"); game.reset();
btnSwapColors.addActionListener((evt) -> game.swapColors()); game.start();
});
activeColor = Color.WHITE;
JButton btnSwapColors = new JButton("Play as black");
btnSwapColors.addActionListener((evt) -> {
game.swapColors();
btnSwapColors.setText("Play as " + activeColor.toString().toLowerCase());
activeColor = activeColor.opposite();
});
toolPanel.add(btnRestart); toolPanel.add(btnRestart);
toolPanel.add(btnSwapColors); toolPanel.add(btnSwapColors);
mframe.pack(); mframe.pack();
mframe.setLocationRelativeTo(null); mframe.setLocationRelativeTo(null);
} }
public BoardPane getBoardPane() { return boardPane; } public BoardPane getBoardPane() {
return boardPane;
}
public Game getGame() { return game; } public Game getGame() {
return game;
}
public void setGame(Game game) { public void setGame(Game game) {
if (this.game != null) this.game.disconnect(); if (this.game != null)
this.game.disconnect();
this.game = game; this.game = game;
} }
} }