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.JPanel;
import dev.kske.chess.board.Piece.Color;
import dev.kske.chess.game.Game;
/**
@ -18,9 +19,10 @@ import dev.kske.chess.game.Game;
*/
public class MainWindow {
private JFrame mframe;
private BoardPane boardPane;
private Game game;
private JFrame mframe;
private BoardPane boardPane;
private Game game;
private Color activeColor;
/**
* Launch the application.
@ -66,10 +68,19 @@ public class MainWindow {
mframe.getContentPane().add(toolPanel, BorderLayout.NORTH);
JButton btnRestart = new JButton("Restart");
btnRestart.addActionListener((evt) -> { if (game != null) game.reset(); game.start(); });
btnRestart.addActionListener((evt) -> {
if (game != null)
game.reset();
game.start();
});
JButton btnSwapColors = new JButton("Swap Colors");
btnSwapColors.addActionListener((evt) -> game.swapColors());
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(btnSwapColors);
@ -78,12 +89,17 @@ public class MainWindow {
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) {
if (this.game != null) this.game.disconnect();
if (this.game != null)
this.game.disconnect();
this.game = game;
}
}