racePanel GUI 1.0
This commit is contained in:
@@ -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();
|
||||||
};
|
};*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user