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();
PanelHolder guiPanels = new PanelHolder();
UImanager gui = new UImanager(guiPanels, data.isReturninguser());
GUImanager gui = new GUImanager(guiPanels, data.isReturninguser());
gui.setVisible(true);
}
@@ -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();
};
};*/
}
+10 -12
View File
@@ -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();
}
+49 -7
View File
@@ -1,28 +1,70 @@
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;
}
}