New implemented class PgnSelectionGui

SavePgn
Justin 2025-06-23 03:38:02 +02:00
parent f3079dc82e
commit 2e6b9ec81c
1 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,39 @@
package de.hs_mannheim.informatik.chess.view;
import java.util.List;
import java.util.function.Consumer;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import com.github.bhlangonijr.chesslib.game.Game;
public class PgnSelectionGui extends JFrame {
public PgnSelectionGui(List<Game> games, Consumer<Game> onGameSelected) {
setTitle("Geladene Partien");
setSize(600, 800);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JScrollPane scrollPane = new JScrollPane(panel);
int index = 1;
for (Game game : games) {
String white = game.getWhitePlayer().getName();
String black = game.getBlackPlayer().getName();
String title = "Spiel " + index++ + ": " + white + " vs. " + black;
JButton btn = new JButton(title);
btn.addActionListener(e -> {
dispose();
onGameSelected.accept(game);
});
panel.add(btn);
}
add(scrollPane);
setVisible(true);
}
}