Anpassungen/Erweiterungen an dem Spielfeld durch BoardDisplay und GameBoard
Test Button hinzugefuegt um auf Spielfeld JPanel zu wechseln
This commit is contained in:
parent
15ff3034d3
commit
0ef34e18eb
|
@ -1,15 +1,54 @@
|
|||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
// Erstellt Spielfeld für Spieler1/Spieler2
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
|
||||
public class BoardDisplay extends JPanel {
|
||||
public BoardDisplay(int gridSize, Icon buttonIcon) {
|
||||
super(new GridLayout(gridSize, gridSize));
|
||||
super(new GridLayout(gridSize + 1, gridSize + 1)); // +1 wegen extra Zeile/Splate
|
||||
|
||||
// Buttons zum Panel hinzufügen
|
||||
for (int i = 0; i < gridSize; i++) {
|
||||
for (int j = 0; j < gridSize; j++) {
|
||||
add(new JButton(buttonIcon));
|
||||
// Erstellung von Spielfeld
|
||||
for (int i = 0; i <= gridSize; i++) {
|
||||
for (int j = 0; j <= gridSize; j++) {
|
||||
if (i == 0 && j == 0) {
|
||||
add(new JLabel(" "));
|
||||
} else if (i == 0) {
|
||||
JLabel colLabel = new JLabel(String.valueOf(j));
|
||||
colLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
colLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
add(colLabel);
|
||||
} else if (j == 0) {
|
||||
JLabel rowLabel = new JLabel(String.valueOf((char) ('A' + i - 1)));
|
||||
rowLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
rowLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
add(rowLabel);
|
||||
} else {
|
||||
// Spielfeld (interaktive Zellen)
|
||||
JButton field = new JButton("");
|
||||
field.setBackground(Color.LIGHT_GRAY);
|
||||
field.setOpaque(true);
|
||||
field.setBorderPainted(true);
|
||||
|
||||
field.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if(SwingUtilities.isRightMouseButton(e)) {
|
||||
handleFieldClick(field);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {
|
||||
// field.setBackground(Color.LIGHT_GRAY);
|
||||
}
|
||||
});
|
||||
add(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void handleFieldClick(JButton field) {
|
||||
field.setBackground(Color.RED);
|
||||
}
|
||||
}
|
|
@ -1,3 +1,5 @@
|
|||
import javafx.scene.control.ToggleGroup;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
@ -19,22 +21,22 @@ public class GameBoard extends JPanel {
|
|||
|
||||
JButton backButton = new JButton(backButtonIcon);
|
||||
// Eigene ModulButtons
|
||||
JButton leftPlayerModul1 = new JButton("Modul 1"); //TODO: Dynamische Namen durch abgleich mit Semester
|
||||
JButton leftPlayerModul2 = new JButton("Modul 2");
|
||||
JButton leftPlayerModul3 = new JButton("Modul 3");
|
||||
JButton leftPlayerModul4 = new JButton("Modul 4");
|
||||
JButton leftPlayerModul5 = new JButton("Modul 5");
|
||||
JButton leftPlayerModul6 = new JButton("Modul 6");
|
||||
JButton leftPlayerModul7 = new JButton("Reset");
|
||||
JToggleButton leftPlayerModul1 = new JToggleButton("Modul 1"); //TODO: Dynamische Namen durch abgleich mit Semester
|
||||
JToggleButton leftPlayerModul2 = new JToggleButton("Modul 2");
|
||||
JToggleButton leftPlayerModul3 = new JToggleButton("Modul 3");
|
||||
JToggleButton leftPlayerModul4 = new JToggleButton("Modul 4");
|
||||
JToggleButton leftPlayerModul5 = new JToggleButton("Modul 5");
|
||||
JToggleButton leftPlayerModul6 = new JToggleButton("Modul 6");
|
||||
JToggleButton leftPlayerModul7 = new JToggleButton("Reset");
|
||||
|
||||
// Gegnerische ModulButtons
|
||||
JButton rightPlayerModul1 = new JButton("Modul 1");
|
||||
JButton rightPlayerModul2 = new JButton("Modul 2");
|
||||
JButton rightPlayerModul3 = new JButton("Modul 3");
|
||||
JButton rightPlayerModul4 = new JButton("Modul 4");
|
||||
JButton rightPlayerModul5 = new JButton("Modul 5");
|
||||
JButton rightPlayerModul6 = new JButton("Modul 6");
|
||||
JButton rightPlayerModul7 = new JButton("Bereit");
|
||||
JToggleButton rightPlayerModul1 = new JToggleButton("Modul 1");
|
||||
JToggleButton rightPlayerModul2 = new JToggleButton("Modul 2");
|
||||
JToggleButton rightPlayerModul3 = new JToggleButton("Modul 3");
|
||||
JToggleButton rightPlayerModul4 = new JToggleButton("Modul 4");
|
||||
JToggleButton rightPlayerModul5 = new JToggleButton("Modul 5");
|
||||
JToggleButton rightPlayerModul6 = new JToggleButton("Modul 6");
|
||||
JToggleButton rightPlayerModul7 = new JToggleButton("Bereit");
|
||||
|
||||
public void buildPanel(MainFrame frame, int semesterCounter) {
|
||||
// Hauptlayout - BorderLayout für die Anordnung der Komponenten
|
||||
|
@ -76,21 +78,24 @@ public class GameBoard extends JPanel {
|
|||
JPanel ownBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
||||
JPanel opponentBoardPanel = new BoardDisplay(gridSize, gameBoardEmtpy);
|
||||
|
||||
/* Alter code ohne BoardDisplay
|
||||
// Buttons für das eigene Spielfeld hinzufügen
|
||||
for (int i = 0; i < gridSize; i++) {
|
||||
for (int j = 0; j < gridSize; j++) {
|
||||
ownBoardPanel.add(new JButton(gameBoardEmtpy));
|
||||
}
|
||||
}
|
||||
//Buttons in eine Gruppe packen damit diese beim drücken eines anderen Buttons wieder entwählt werden
|
||||
ButtonGroup leftButtonGroup= new ButtonGroup();
|
||||
leftButtonGroup.add(rightPlayerModul1);
|
||||
leftButtonGroup.add(rightPlayerModul2);
|
||||
leftButtonGroup.add(rightPlayerModul3);
|
||||
leftButtonGroup.add(rightPlayerModul4);
|
||||
leftButtonGroup.add(rightPlayerModul5);
|
||||
leftButtonGroup.add(rightPlayerModul6);
|
||||
leftButtonGroup.add(rightPlayerModul7);
|
||||
|
||||
// Buttons für das gegnerische Spielfeld hinzufügen
|
||||
for (int i = 0; i < gridSize; i++) {
|
||||
for (int j = 0; j < gridSize; j++) {
|
||||
opponentBoardPanel.add(new JButton(gameBoardEmtpy));
|
||||
}
|
||||
}
|
||||
*/
|
||||
ButtonGroup rightButtonGroup= new ButtonGroup();
|
||||
rightButtonGroup.add(leftPlayerModul1);
|
||||
rightButtonGroup.add(leftPlayerModul2);
|
||||
rightButtonGroup.add(leftPlayerModul3);
|
||||
rightButtonGroup.add(leftPlayerModul4);
|
||||
rightButtonGroup.add(leftPlayerModul5);
|
||||
rightButtonGroup.add(leftPlayerModul6);
|
||||
rightButtonGroup.add(leftPlayerModul7);
|
||||
|
||||
// Panel für beide Spielfelder (nebeneinander in der Mitte)
|
||||
JPanel centerPanel = new JPanel();
|
||||
|
|
|
@ -8,8 +8,8 @@ import java.awt.event.ActionListener;
|
|||
|
||||
public class startLocalGame extends JPanel {
|
||||
// Player
|
||||
//Player p1;
|
||||
//Player p2;
|
||||
Player p1;
|
||||
Player p2;
|
||||
|
||||
// Funktionshilfen
|
||||
int semesterCounter = 1; // Semester Counter Label
|
||||
|
@ -40,6 +40,7 @@ public class startLocalGame extends JPanel {
|
|||
JButton rightPlayerLeftButton = new JButton("<-");
|
||||
JButton rightPlayerRightButton = new JButton("->");
|
||||
JButton startButton = new JButton("Start!");
|
||||
JButton testButton = new JButton("Test");
|
||||
|
||||
JTextField leftPlayerTextField = new JTextField(20);
|
||||
JTextField rightPlayerTextField = new JTextField(20);
|
||||
|
@ -71,6 +72,9 @@ public class startLocalGame extends JPanel {
|
|||
semesterCounterLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
add(semesterCounterLabel);
|
||||
|
||||
testButton.setBounds(500,800,50,50);
|
||||
add(testButton);
|
||||
|
||||
backButton.setBounds(1380, 20, 80, 80);
|
||||
add(backButton);
|
||||
|
||||
|
@ -150,9 +154,8 @@ public class startLocalGame extends JPanel {
|
|||
updateTextFields();
|
||||
}
|
||||
});
|
||||
|
||||
backButton.addActionListener(e -> frame.showPanel("MainMenu"));
|
||||
|
||||
testButton.addActionListener(e -> frame.showPanelSLG("GameBoard",1,p1,p2));
|
||||
//startButton.addActionListener(e -> frame.showPanelSLG("GameBoard", semesterCounter,p1, p2)); // TODO ECHTE FUNKTION EINFÜGEN
|
||||
startButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue