diff --git a/dndBuilder/src/DndCharacterBuilder.java b/dndBuilder/src/DndCharacterBuilder.java index 1bc24dd..6b1497e 100644 --- a/dndBuilder/src/DndCharacterBuilder.java +++ b/dndBuilder/src/DndCharacterBuilder.java @@ -8,7 +8,7 @@ public class DndCharacterBuilder { FileManager data = new FileManager(); PanelHolder guiPanels = new PanelHolder(); - UImanager gui = new UImanager(guiPanels, data.isReturninguser()); + GUImanager gui = new GUImanager(guiPanels, data.isReturninguser()); gui.setVisible(true); } diff --git a/dndBuilder/src/GUI/UImanager.java b/dndBuilder/src/GUI/GUImanager.java similarity index 86% rename from dndBuilder/src/GUI/UImanager.java rename to dndBuilder/src/GUI/GUImanager.java index 959c774..b29911a 100644 --- a/dndBuilder/src/GUI/UImanager.java +++ b/dndBuilder/src/GUI/GUImanager.java @@ -3,12 +3,12 @@ package GUI; import javax.swing.*; import java.awt.*; -public class UImanager extends JFrame { +public class GUImanager extends JFrame { private final PanelHolder guiPanels; private int currentPanel; - public UImanager (PanelHolder guiPanels, boolean returningUser) { + public GUImanager (PanelHolder guiPanels, boolean returningUser) { super("D&D Character Builder"); frameSetup(); this.guiPanels = guiPanels; @@ -23,7 +23,7 @@ public class UImanager extends JFrame { } - clearAndReset(getNextPanel()); + add(getNextPanel()); } @@ -45,7 +45,9 @@ public class UImanager extends JFrame { private JPanel getNextPanel() { - return switch (currentPanel) { + return guiPanels.getRacePanel(); + +/* return switch (currentPanel) { case 1 -> guiPanels.getRacePanel(); case 2 -> guiPanels.getClassPanel(); case 3 -> guiPanels.getAbilityScorePanel(); @@ -54,7 +56,7 @@ public class UImanager extends JFrame { case 6 -> guiPanels.getLoadMenuPanel(); case 7 -> guiPanels.getFinalizePanel(); default -> guiPanels.getMainMenuPanel(); - }; + };*/ } diff --git a/dndBuilder/src/GUI/PanelHolder.java b/dndBuilder/src/GUI/PanelHolder.java index 6a48dbf..72e8f75 100644 --- a/dndBuilder/src/GUI/PanelHolder.java +++ b/dndBuilder/src/GUI/PanelHolder.java @@ -1,5 +1,7 @@ package GUI; +import Character.AbilityScores.Stats; +import Character.Races.Race; import GUI.Panels.ChooseRacePanel; import javax.swing.*; @@ -19,7 +21,7 @@ NOTES: public class PanelHolder { private JPanel mainMenuPanel; - private JPanel racePanel; + private static JPanel racePanel; private JPanel classPanel; private JPanel abilityScorePanel; private JPanel descriptionPanel; @@ -31,8 +33,14 @@ public class PanelHolder { private int currentPanel; private int nextPanel; + private Race chosenRace; + private Class chosenClass; + private Stats chosenAbilityScores; + public PanelHolder() { + + this.mainMenuPanel = createMainMenuPanel(); this.racePanel = createRaceSelectPanel(); this.classPanel = createClassSelectPanel(); @@ -120,17 +128,7 @@ public class PanelHolder { */ private JPanel createRaceSelectPanel() { - System.out.println("Race Panel generated."); - - JPanel display = new JPanel(); - display.setLayout(new BorderLayout(0, 0)); - - - JLabel title = new JLabel("Step 1: Choose Race"); - title.setHorizontalAlignment(SwingConstants.CENTER); - display.add(title, BorderLayout.NORTH); - - return display; + return new ChooseRacePanel(); } diff --git a/dndBuilder/src/GUI/Panels/ChooseRacePanel.java b/dndBuilder/src/GUI/Panels/ChooseRacePanel.java index be8a15f..6c3db3c 100644 --- a/dndBuilder/src/GUI/Panels/ChooseRacePanel.java +++ b/dndBuilder/src/GUI/Panels/ChooseRacePanel.java @@ -1,27 +1,69 @@ package GUI.Panels; -import javax.swing.JPanel; +import javax.swing.*; import java.awt.BorderLayout; -import javax.swing.JLabel; -import javax.swing.SwingConstants; -import javax.swing.JTextField; -import javax.swing.JComboBox; import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; public class ChooseRacePanel extends JPanel { + private String raceChoice; + /** * Create the panel. */ public ChooseRacePanel() { - createPanel(); + super(); + createMasterPanel(); } - private void createPanel() { + private void createMasterPanel() { + + setLayout(new BorderLayout(0, 0)); + + JPanel masterPanel = new JPanel(); + + JLabel title = new JLabel("Step 1: Choose Race"); + title.setHorizontalAlignment(SwingConstants.CENTER); + masterPanel.add(title, BorderLayout.NORTH); + + JPanel racesContainer = new JPanel(); + + String[] availableRaces = {"Dragonborn", "Dwarf", "Elf", "Gnome", "Half-Elf", "Halfling", "Half-Orc", "Human", "Tiefling"}; + + for (int i = 0; i < availableRaces.length; i++) { + + racesContainer.add(createButton(availableRaces[i])); + } + + masterPanel.add(racesContainer); + + add(masterPanel); + + } + + private JButton createButton(String raceName) { + + JButton button = new JButton(raceName); + button.addActionListener( + + new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + + raceChoice = raceName; + + } + } + + ); + + return button; }