racePanel GUI 1.0

This commit is contained in:
Josh Ashton
2022-11-09 21:15:41 -07:00
parent bd64de79e5
commit 39d6470e66
4 changed files with 67 additions and 25 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ public class DndCharacterBuilder {
FileManager data = new FileManager(); FileManager data = new FileManager();
PanelHolder guiPanels = new PanelHolder(); PanelHolder guiPanels = new PanelHolder();
UImanager gui = new UImanager(guiPanels, data.isReturninguser()); GUImanager gui = new GUImanager(guiPanels, data.isReturninguser());
gui.setVisible(true); gui.setVisible(true);
} }
@@ -3,12 +3,12 @@ package GUI;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
public class UImanager extends JFrame { public class GUImanager extends JFrame {
private final PanelHolder guiPanels; private final PanelHolder guiPanels;
private int currentPanel; private int currentPanel;
public UImanager (PanelHolder guiPanels, boolean returningUser) { public GUImanager (PanelHolder guiPanels, boolean returningUser) {
super("D&D Character Builder"); super("D&D Character Builder");
frameSetup(); frameSetup();
this.guiPanels = guiPanels; 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() { private JPanel getNextPanel() {
return switch (currentPanel) { return guiPanels.getRacePanel();
/* return switch (currentPanel) {
case 1 -> guiPanels.getRacePanel(); case 1 -> guiPanels.getRacePanel();
case 2 -> guiPanels.getClassPanel(); case 2 -> guiPanels.getClassPanel();
case 3 -> guiPanels.getAbilityScorePanel(); case 3 -> guiPanels.getAbilityScorePanel();
@@ -54,7 +56,7 @@ public class UImanager extends JFrame {
case 6 -> guiPanels.getLoadMenuPanel(); case 6 -> guiPanels.getLoadMenuPanel();
case 7 -> guiPanels.getFinalizePanel(); case 7 -> guiPanels.getFinalizePanel();
default -> guiPanels.getMainMenuPanel(); default -> guiPanels.getMainMenuPanel();
}; };*/
} }
+10 -12
View File
@@ -1,5 +1,7 @@
package GUI; package GUI;
import Character.AbilityScores.Stats;
import Character.Races.Race;
import GUI.Panels.ChooseRacePanel; import GUI.Panels.ChooseRacePanel;
import javax.swing.*; import javax.swing.*;
@@ -19,7 +21,7 @@ NOTES:
public class PanelHolder { public class PanelHolder {
private JPanel mainMenuPanel; private JPanel mainMenuPanel;
private JPanel racePanel; private static JPanel racePanel;
private JPanel classPanel; private JPanel classPanel;
private JPanel abilityScorePanel; private JPanel abilityScorePanel;
private JPanel descriptionPanel; private JPanel descriptionPanel;
@@ -31,8 +33,14 @@ public class PanelHolder {
private int currentPanel; private int currentPanel;
private int nextPanel; private int nextPanel;
private Race chosenRace;
private Class chosenClass;
private Stats chosenAbilityScores;
public PanelHolder() { public PanelHolder() {
this.mainMenuPanel = createMainMenuPanel(); this.mainMenuPanel = createMainMenuPanel();
this.racePanel = createRaceSelectPanel(); this.racePanel = createRaceSelectPanel();
this.classPanel = createClassSelectPanel(); this.classPanel = createClassSelectPanel();
@@ -120,17 +128,7 @@ public class PanelHolder {
*/ */
private JPanel createRaceSelectPanel() { private JPanel createRaceSelectPanel() {
System.out.println("Race Panel generated."); return new ChooseRacePanel();
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;
} }
+49 -7
View File
@@ -1,27 +1,69 @@
package GUI.Panels; package GUI.Panels;
import javax.swing.JPanel; import javax.swing.*;
import java.awt.BorderLayout; 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.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ChooseRacePanel extends JPanel { public class ChooseRacePanel extends JPanel {
private String raceChoice;
/** /**
* Create the panel. * Create the panel.
*/ */
public ChooseRacePanel() { 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;
} }