Compare commits

..

No commits in common. "b14d044443e7ab254305c76347e47150e2d29e64" and "6515ea54c4d64ae6df2e437db0b47dca3c1725b3" have entirely different histories.

2 changed files with 22 additions and 16 deletions

View File

@ -1,6 +1,7 @@
package PR2.HitoriSpiel.GUI;
package GUI;
import PR2.HitoriSpiel.Domain.HitoriBoard;
import domain.HitoriBoard;
import persistent.BoardLoader;
import javax.swing.*;
import java.awt.*;
@ -14,7 +15,7 @@ public class StartMenu extends JFrame {
public StartMenu() {
setTitle("Hitori - Hauptmenü");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800, 600);
setSize(600, 400);
mainPanel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
@ -61,21 +62,23 @@ public class StartMenu extends JFrame {
private void selectBoard() {
// Lade die Liste der Spielfeld-Dateien
List<String> boardFileNames = BoardLoader.loadBoardsAsList();
System.out.println("Verfügbare Spielfelder: " + boardFileNames);
if (boardFileNames.isEmpty()) {
JOptionPane.showMessageDialog(this, "Keine Spielfelder gefunden.", "Information", JOptionPane.INFORMATION_MESSAGE);
return;
}
// Erstelle die JComboBox
JComboBox<String> boardSelector = new JComboBox<>(boardFileNames.toArray(new String[0]));
boardSelector.setPreferredSize(new Dimension(250, 30));
boardSelector.setPreferredSize(new Dimension(250, 30)); // Größe der ComboBox anpassen
JPanel selectionPanel = new JPanel(new BorderLayout());
selectionPanel.add(new JLabel("Wähle ein Spielfeld:"), BorderLayout.NORTH);
selectionPanel.add(boardSelector, BorderLayout.CENTER);
// Zeige das Auswahlfenster
int option = JOptionPane.showConfirmDialog(
this,
selectionPanel,
@ -84,20 +87,23 @@ public class StartMenu extends JFrame {
JOptionPane.PLAIN_MESSAGE
);
// Aktion, wenn der Benutzer auf OK klickt
if (option == JOptionPane.OK_OPTION) {
String selectedFile = (String) boardSelector.getSelectedItem();
System.out.println("Ausgewählte Datei: " + selectedFile);
if (selectedFile != null) {
try {
String resourcePath = "/persistent/Hitori_Spielfelder/" + selectedFile;
System.out.println("Lade Datei von Pfad: " + resourcePath);
int[][] boardData = BoardLoader.loadBoard(resourcePath);
loadGameBoard(boardData);
InputStream inputStream = BoardLoader.class.getResourceAsStream("/persistent/Hitori_Spielfelder/" + selectedFile);
if (inputStream == null) {
throw new Exception("Ressourcendatei nicht gefunden: /persistent/Hitori_Spielfelder/" + selectedFile);
}
// Lade das ausgewählte Spielfeld
int[][] boardData = BoardLoader.loadBoard("/persistent/Hitori_Spielfelder/" + selectedFile);
loadGameBoard(boardData); // Zeige das Spielfeld an
} catch (Exception ex) {
System.err.println("Fehler beim Laden der Datei: " + ex.getMessage());
JOptionPane.showMessageDialog(this, "Fehler beim Laden des Spielfelds: " + ex.getMessage(), "Fehler", JOptionPane.ERROR_MESSAGE);
}
}

View File

@ -1,12 +1,12 @@
package PR2.HitoriSpiel.Main;
import PR2.HitoriSpiel.GUI.StartMenu;
import javax.swing.*;
import PR2.HitoriSpiel.GUI.HitoriApp;
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new StartMenu());
HitoriApp app = new HitoriApp();
app.start();
}
}