diff --git a/dndBuilder/src/Character/CharacterSheet.java b/dndBuilder/src/Character/CharacterSheet.java index 5bf2ea2..61b32bb 100644 --- a/dndBuilder/src/Character/CharacterSheet.java +++ b/dndBuilder/src/Character/CharacterSheet.java @@ -1,6 +1,7 @@ package Character; import Character.AbilityScores.CharacterStats; +import Character.Classes.ClassTemplate; import Character.Races.*; import java.io.Serializable; @@ -14,6 +15,7 @@ public class CharacterSheet implements Serializable { private String eye; private String hair; private Race race; + private CharacterStats stats; /** diff --git a/dndBuilder/src/Character/Classes/ClassTemplate.java b/dndBuilder/src/Character/Classes/ClassTemplate.java index 93fdc05..07515a2 100644 --- a/dndBuilder/src/Character/Classes/ClassTemplate.java +++ b/dndBuilder/src/Character/Classes/ClassTemplate.java @@ -4,35 +4,35 @@ import Character.AbilityScores.*; public interface ClassTemplate { - String getDescription(); + abstract String getDescription(); - String[] getProgression(); + abstract String[] getProgression(); - String[] getClassFeatures(); + abstract String[] getClassFeatures(); - String getHitDie(); + abstract String getHitDie(); - int getHPatLv1(); + abstract int getHPatLv1(); - int getHPpastLv1(); + abstract int getHPpastLv1(); - String[] getArmorProf(); + abstract String[] getArmorProf(); - String[] getWeaponProf(); + abstract String[] getWeaponProf(); - String[] getToolProf(); + abstract String[] getToolProf(); - String[] getSavingThrows(); + abstract String[] getSavingThrows(); // TODO: Need to refresh on how saving throws work and how the character's class may impact a saving throw. - String[] availableSkills(); + abstract String[] availableSkills(); - String[] startingEquipChoices(); + abstract String[] startingEquipChoices(); - boolean advantageCheck(Stats abilityScore); + abstract boolean advantageCheck(Stats abilityScore); - boolean disadvantageCheck(Stats abilityScore); + abstract boolean disadvantageCheck(Stats abilityScore); // TODO: Spells and shit. diff --git a/dndBuilder/src/GUI/GUImanager.java b/dndBuilder/src/GUI/GUImanager.java index d340f71..a6a0add 100644 --- a/dndBuilder/src/GUI/GUImanager.java +++ b/dndBuilder/src/GUI/GUImanager.java @@ -1,9 +1,6 @@ package GUI; -import GUI.Panels.AbilityScorePanel; -import GUI.Panels.ChooseClassPanel; -import GUI.Panels.ChooseRacePanel; -import GUI.Panels.MainMenuPanel; +import GUI.Panels.*; import javax.swing.*; import java.awt.*; @@ -37,7 +34,12 @@ public class GUImanager extends JFrame { public GUImanager (boolean returningUser) { super("D&D Character Builder"); frameSetup(); - this.panels = new JPanel[]{new MainMenuPanel(), new ChooseRacePanel(), new ChooseClassPanel(), new AbilityScorePanel()}; + this.panels = new JPanel[]{ + new MainMenuPanel(), + new ChooseRacePanel(createBackButton(), createContinueButton()), + new ChooseClassPanel(createBackButton(),createContinueButton()), + new ChooseAbilityScoresPanel(createBackButton(), createContinueButton()) + }; this.lastPanel = 0; this.currentPanel = 1; @@ -60,7 +62,7 @@ public class GUImanager extends JFrame { setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new BorderLayout()); - setPreferredSize(new Dimension(600,600)); + setPreferredSize(new Dimension(735,550)); setSize(getPreferredSize()); try { @@ -80,9 +82,11 @@ public class GUImanager extends JFrame { navigationContainer.add(createBackButton()); navigationContainer.add(createContinueButton()); - masterPanel.add(navigationContainer); + //masterPanel.add(navigationContainer); - return masterPanel; +// return masterPanel; + + return panels[currentPanel]; } @@ -94,6 +98,7 @@ public class GUImanager extends JFrame { new ActionListener() { @Override public void actionPerformed(ActionEvent e) { + System.out.println("Back button registered."); lastPanel--; currentPanel--; @@ -117,7 +122,7 @@ public class GUImanager extends JFrame { new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - + System.out.println("Continue button registered."); lastPanel++; currentPanel++; nextPanel++; diff --git a/dndBuilder/src/GUI/Panels/AbilityScorePanel.java b/dndBuilder/src/GUI/Panels/AbilityScorePanel.java deleted file mode 100644 index 19c6c65..0000000 --- a/dndBuilder/src/GUI/Panels/AbilityScorePanel.java +++ /dev/null @@ -1,122 +0,0 @@ -package GUI.Panels; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -public class AbilityScorePanel extends JPanel { - - private JPanel[] statsPanels; - private int[] stats; - private String[] statNames; - private int currentIndex; - - public AbilityScorePanel() { - - super(); - stats = new int[] {8,8,8,8,8,8}; - statNames = new String[]{"Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"}; - statsPanels = new JPanel[6]; - - for (int i = 0; i < statNames.length; i++) { - - statsPanels[i] = createStatPanel(statNames[i], i); - - } - createMasterPanel(); - - - } - - private void createMasterPanel() { - - setLayout(new BorderLayout(0, 0)); - - JPanel masterPanel = new JPanel(); - - JLabel title = new JLabel("Step 3: Choose Ability Scores"); - - JPanel scoreHolder = new JPanel(new GridLayout(3, 2, 15, 15)); - for (int i = 0; i < statNames.length; i++) { - - scoreHolder.add(statsPanels[i]); - - } - - masterPanel.add(title); - masterPanel.add(scoreHolder); - - add(masterPanel); - - } - - private JPanel createStatPanel(String statName, int currentIndex) { - - JPanel container = new JPanel(); - container.add(createMinusButton(currentIndex)); - - JPanel textHolder = new JPanel(new GridLayout(2, 1, 15, 15)); - textHolder.add(new JLabel(statName)); - textHolder.add(new JLabel(Integer.toString(stats[currentIndex]))); - container.add(textHolder); - container.add(createPlusButton(currentIndex)); - - return container; - - } - - private void refreshStatPanel(int currentIndex) { - - statsPanels[currentIndex].removeAll(); - statsPanels[currentIndex] = createStatPanel(statNames[currentIndex], currentIndex); - - revalidate(); - repaint(); - - } - - private JButton createMinusButton(int currentIndex) { - - JButton button = new JButton("-"); - button.addActionListener( - - new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - - stats[currentIndex]--; - refreshStatPanel(currentIndex); - - } - } - - ); - - return button; - - } - - // TODO: Need to refactor into increment and decrement score methods, as the number of points required to purchase an increase rises. - private JButton createPlusButton(int currentIndex) { - - JButton button = new JButton("+"); - button.addActionListener( - - new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - - stats[currentIndex]++; - refreshStatPanel(currentIndex); - - } - } - - ); - - return button; - - } - -} diff --git a/dndBuilder/src/GUI/Panels/step3.java b/dndBuilder/src/GUI/Panels/ChooseAbilityScoresPanel.java similarity index 91% rename from dndBuilder/src/GUI/Panels/step3.java rename to dndBuilder/src/GUI/Panels/ChooseAbilityScoresPanel.java index 7e4551b..dd3b2f5 100644 --- a/dndBuilder/src/GUI/Panels/step3.java +++ b/dndBuilder/src/GUI/Panels/ChooseAbilityScoresPanel.java @@ -13,28 +13,22 @@ import javax.swing.SwingConstants; import javax.swing.border.BevelBorder; import javax.swing.JTextPane; import java.awt.GridLayout; -import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; -import javax.swing.border.CompoundBorder; -import javax.swing.border.EtchedBorder; -import javax.swing.border.MatteBorder; -import javax.swing.border.SoftBevelBorder; -import javax.swing.border.TitledBorder; -public class step3 extends JPanel { +public class ChooseAbilityScoresPanel extends JPanel { /** * Create the panel. */ - public step3() { - createEntirePanel(); + public ChooseAbilityScoresPanel(JButton backButton, JButton continueButton) { + createEntirePanel(backButton, continueButton); } /** * */ - private void createEntirePanel() { + private void createEntirePanel(JButton backButton, JButton continueButton) { setBackground(new Color(222, 184, 135)); setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); setLayout(new BorderLayout(0, 0)); @@ -42,7 +36,7 @@ public class step3 extends JPanel { JLabel lblNewLabel = createLbl(); add(lblNewLabel, BorderLayout.NORTH); //Creates back and continue panel - JPanel backContPanel = createBackContinuePanel(); + JPanel backContPanel = createBackContinuePanel(backButton, continueButton); add(backContPanel, BorderLayout.SOUTH); JPanel innerPanel = createInnerPanel(); @@ -214,24 +208,26 @@ public class step3 extends JPanel { diceRollerPanel.add(d6lbl4); } - private JPanel createBackContinuePanel() { + private JPanel createBackContinuePanel(JButton backButton, JButton continueButton) { JPanel backContPanel = new JPanel(); backContPanel.setBackground(new Color(205, 133, 63)); - JButton backBtn = new JButton("<--- Back "); +/* JButton backBtn = new JButton("<--- Back "); backBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); - backContPanel.add(backBtn); + backContPanel.add(backBtn);*/ + backContPanel.add(backButton); - JButton continueBtn = new JButton("Continue --->"); +/* JButton continueBtn = new JButton("Continue --->"); continueBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); - backContPanel.add(continueBtn); + backContPanel.add(continueBtn);*/ + backContPanel.add(continueButton); return backContPanel; } diff --git a/dndBuilder/src/GUI/Panels/ChooseClassPanel.java b/dndBuilder/src/GUI/Panels/ChooseClassPanel.java index caa1a25..b72dc71 100644 --- a/dndBuilder/src/GUI/Panels/ChooseClassPanel.java +++ b/dndBuilder/src/GUI/Panels/ChooseClassPanel.java @@ -1,79 +1,203 @@ package GUI.Panels; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; -public class ChooseClassPanel extends JPanel{ +import javax.swing.JPanel; +import javax.swing.JTextPane; +import javax.swing.SwingConstants; +import javax.swing.border.BevelBorder; +import javax.swing.JButton; +import javax.swing.JLabel; - private String classChoice; - private boolean ableToContinue; +public class ChooseClassPanel extends JPanel { - public ChooseClassPanel() { + /** + * Create the panel. + */ + public ChooseClassPanel(JButton backButton, JButton contButton) { + setBackground(new Color(222, 184, 135)); + setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); + setLayout(new BorderLayout(0, 0)); + + JLabel lblNewLabel = createLbl(); + add(lblNewLabel, BorderLayout.NORTH); + //Creates back and continue panel + JPanel backContPanel = createBackContinuePanel(backButton, contButton); + add(backContPanel, BorderLayout.SOUTH); + + JPanel innerPanel = new JPanel(); + innerPanel.setOpaque(false); + innerPanel.setLayout(null); + + JPanel infoPanel = createInfoPanel(); + innerPanel.add(infoPanel); + + JPanel btnPanel = createBtnPanel(); + innerPanel.add(btnPanel); + + add(innerPanel, BorderLayout.CENTER); + } + + private JPanel createBtnPanel() { + JPanel btnPanel = new JPanel(); + btnPanel.setBackground(new Color(165, 42, 42)); + btnPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); + btnPanel.setBounds(311, 6, 409, 394); + + JButton artificerBtn = new JButton("Artificer"); + artificerBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(artificerBtn); - super(); - createMasterPanel(); + JButton barbarianBtn = new JButton("Barbarian"); + barbarianBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(barbarianBtn); + + JButton bardBtn = new JButton("Bard"); + bardBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(bardBtn); + + JButton clericBtn = new JButton("Cleric"); + clericBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(clericBtn); + + JButton druidBtn = new JButton("Druid"); + druidBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(druidBtn); + + JButton fighterBtn = new JButton("Figther"); + fighterBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(fighterBtn); + + JButton monkBtn = new JButton("Monk"); + monkBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(monkBtn); + + JButton paladinBtn = new JButton("Paladin"); + paladinBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(paladinBtn); + + JButton rangerBtn = new JButton("Ranger"); + rangerBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(rangerBtn); + + JButton rogueBtn = new JButton("Rogue"); + rogueBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(rogueBtn); + + JButton sorcererBtn = new JButton("Sorcerer"); + sorcererBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(sorcererBtn); + + JButton warlockBtn = new JButton("Warlock"); + warlockBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(warlockBtn); + + JButton wizardBtn = new JButton("Wizard"); + wizardBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + btnPanel.add(wizardBtn); + + + + return btnPanel; + } + + private JPanel createInfoPanel() { + JPanel infoPanel = new JPanel(); + infoPanel.setOpaque(false); + infoPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); + infoPanel.setBounds(6, 6, 293, 394); + infoPanel.setLayout(null); + + JLabel infoLbl = new JLabel("Information"); + infoLbl.setFont(new Font("Bodoni 72", Font.PLAIN, 20)); + infoLbl.setHorizontalAlignment(SwingConstants.CENTER); + infoLbl.setBounds(92, 6, 105, 16); + infoPanel.add(infoLbl); + + JTextPane infoTextPane = new JTextPane(); + infoTextPane.setOpaque(false); + infoTextPane.setBounds(6, 21, 281, 367); + infoPanel.add(infoTextPane); + return infoPanel; + } + + /** + * @return + */ + private JPanel createBackContinuePanel(JButton backButton, JButton continueButton) { + JPanel backContPanel = new JPanel(); + backContPanel.setBackground(new Color(205, 133, 63)); + + + JButton backBtn = new JButton("<--- Back "); + backBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); +// backContPanel.add(backBtn); + backContPanel.add(backButton); + + JButton continueBtn = new JButton("Continue --->"); + continueBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); +// backContPanel.add(continueBtn); + backContPanel.add(continueButton); + return backContPanel; + } + + /** + * @return + */ + private JLabel createLbl() { + JLabel lblNewLabel = new JLabel("Step 2: Choose Class"); + lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 33)); + return lblNewLabel; + } - } - - private void createMasterPanel() { - - setLayout(new BorderLayout(0, 0)); - - JPanel masterPanel = new JPanel(); - - JLabel title = new JLabel("Step 2: Choose Class"); - title.setHorizontalAlignment(SwingConstants.CENTER); - masterPanel.add(title, BorderLayout.NORTH); - - JPanel classContainer = new JPanel(); - - String[] availableClasses = {"Cleric", "Fighter", "Wizard"}; - - for (int i = 0; i < availableClasses.length; i++) { - - classContainer.add(createButton(availableClasses[i])); - - } - - masterPanel.add(classContainer); - - add(masterPanel); - - } - - private JButton createButton(String userChoice) { - - JButton button = new JButton(userChoice); - - button.addActionListener( - - new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - - System.out.println(userChoice); - classChoice = userChoice; - ableToContinue = true; - - } - } - - ); - - return button; - - } - - public String getClassChoice() { - - return classChoice; - - } - - public boolean isAbleToContinue() { - - return ableToContinue; - - } } diff --git a/dndBuilder/src/GUI/Panels/ChooseRacePanel.java b/dndBuilder/src/GUI/Panels/ChooseRacePanel.java index 66992ca..a003c3c 100644 --- a/dndBuilder/src/GUI/Panels/ChooseRacePanel.java +++ b/dndBuilder/src/GUI/Panels/ChooseRacePanel.java @@ -1,83 +1,67 @@ package GUI.Panels; -import javax.swing.*; import java.awt.BorderLayout; -import java.awt.GridLayout; +import java.awt.Color; +import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.SwingConstants; +import javax.swing.border.BevelBorder; +import javax.swing.JTextPane; + public class ChooseRacePanel extends JPanel { - private String raceChoice; - private boolean ableToContinue; - - - public ChooseRacePanel() { - - super(); - createMasterPanel(); - - } - - private void createMasterPanel() { - + /** + * Create the panel. + */ + public ChooseRacePanel(JButton backButton, JButton continueButton) { + setBackground(new Color(222, 184, 135)); + setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); 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])); - + + JLabel lblNewLabel = new JLabel("Step 1: Choose Race"); + lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); + lblNewLabel.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 33)); + add(lblNewLabel, BorderLayout.NORTH); + + JPanel racePanel = new JPanel(); + racePanel.setOpaque(false); + add(racePanel, BorderLayout.CENTER); + racePanel.setLayout(null); + + JTextPane textPane = new JTextPane(); + textPane.setBounds(47, 67, 223, 301); + racePanel.add(textPane); + + JPanel raceBtnPanel = new JPanel(); + raceBtnPanel.setBackground(new Color(165, 42, 42)); + raceBtnPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); + raceBtnPanel.setBounds(311, 6, 409, 394); + racePanel.add(raceBtnPanel); + + JButton dragonbornBtn = new JButton("Dragonborn"); + dragonbornBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { } - - masterPanel.add(racesContainer); - - add(masterPanel); + }); + raceBtnPanel.add(dragonbornBtn); + + JPanel backContPanel = new JPanel(); + backContPanel.setBackground(new Color(205, 133, 63)); + add(backContPanel, BorderLayout.SOUTH); + + JButton backBtn = new JButton("<--- Back "); +// backContPanel.add(backBtn); + backContPanel.add(backButton); + + JButton continueBtn = new JButton("Continue --->"); +// backContPanel.add(continueBtn); + backContPanel.add(continueButton); + } - - private JButton createButton(String userChoice) { - - JButton button = new JButton(userChoice); - - button.addActionListener( - - new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - - System.out.println(userChoice); - raceChoice = userChoice; - ableToContinue = true; - - } - } - - ); - - return button; - - } - - public String getRaceChoice() { - - return raceChoice; - - } - - public boolean isAbleToContinue() { - - return ableToContinue; - - } - } diff --git a/dndBuilder/src/GUI/Panels/DescriptionPanel.java b/dndBuilder/src/GUI/Panels/DescriptionPanel.java deleted file mode 100644 index 7b66a12..0000000 --- a/dndBuilder/src/GUI/Panels/DescriptionPanel.java +++ /dev/null @@ -1,4 +0,0 @@ -package GUI.Panels; - -public class DescriptionPanel { -} diff --git a/dndBuilder/src/GUI/Panels/EquipmentPanel.java b/dndBuilder/src/GUI/Panels/EquipmentPanel.java deleted file mode 100644 index 95083b2..0000000 --- a/dndBuilder/src/GUI/Panels/EquipmentPanel.java +++ /dev/null @@ -1,4 +0,0 @@ -package GUI.Panels; - -public class EquipmentPanel { -} diff --git a/dndBuilder/src/GUI/Panels/FinalizePanel.java b/dndBuilder/src/GUI/Panels/FinalizePanel.java deleted file mode 100644 index 72408b2..0000000 --- a/dndBuilder/src/GUI/Panels/FinalizePanel.java +++ /dev/null @@ -1,4 +0,0 @@ -package GUI.Panels; - -public class FinalizePanel { -} diff --git a/dndBuilder/src/GUI/Panels/MainMenu.java b/dndBuilder/src/GUI/Panels/MainMenu.java deleted file mode 100644 index e60af37..0000000 --- a/dndBuilder/src/GUI/Panels/MainMenu.java +++ /dev/null @@ -1,88 +0,0 @@ -package GUI.Panels; - -import javax.swing.JPanel; -import java.awt.BorderLayout; -import javax.swing.JLabel; -import javax.swing.SwingConstants; -import java.awt.Font; -import javax.swing.border.MatteBorder; -import java.awt.Color; -import javax.swing.border.CompoundBorder; -import javax.swing.border.EmptyBorder; -import javax.swing.border.EtchedBorder; -import javax.swing.border.BevelBorder; -import java.awt.GridLayout; -import javax.swing.JButton; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; - -public class MainMenu extends JPanel { - - /** - * Create the panel. - */ - public MainMenu() { - setBackground(new Color(222, 184, 135)); - setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); - setLayout(new BorderLayout(0, 0)); - - JLabel mainMenuLbl = mainMenuLbl(); - add(mainMenuLbl, BorderLayout.NORTH); - - JPanel controlPanel = createControlPanel(); - add(controlPanel, BorderLayout.CENTER); - } - - /** - * @return - */ - private JPanel createControlPanel() { - JPanel controlPanel = new JPanel(); - controlPanel.setOpaque(false); - controlPanel.setLayout(null); - - JButton newCharBtn = new JButton("New \nCharacter"); - newCharBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - newCharBtn.setOpaque(true); - newCharBtn.setBackground(new Color(160, 82, 45)); - newCharBtn.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); - newCharBtn.setBounds(118, 90, 200, 50); - controlPanel.add(newCharBtn); - - JButton randCharacterBtn = new JButton("Random Character"); - randCharacterBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - randCharacterBtn.setOpaque(true); - randCharacterBtn.setBackground(new Color(160, 82, 45)); - randCharacterBtn.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); - randCharacterBtn.setBounds(118, 156, 200, 50); - controlPanel.add(randCharacterBtn); - - JButton loadCharacter = new JButton("Load Character"); - loadCharacter.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - loadCharacter.setOpaque(true); - loadCharacter.setBackground(new Color(160, 82, 45)); - loadCharacter.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); - loadCharacter.setBounds(376, 98, 233, 97); - controlPanel.add(loadCharacter); - return controlPanel; - } - - /** - * @return - */ - private JLabel mainMenuLbl() { - JLabel mainMenuLbl = new JLabel("Main Menu"); - mainMenuLbl.setFont(new Font("Bodoni 72 Smallcaps", Font.PLAIN, 33)); - mainMenuLbl.setHorizontalAlignment(SwingConstants.CENTER); - return mainMenuLbl; - } -} diff --git a/dndBuilder/src/GUI/Panels/MainMenuPanel.java b/dndBuilder/src/GUI/Panels/MainMenuPanel.java index 4ed3d26..9b49961 100644 --- a/dndBuilder/src/GUI/Panels/MainMenuPanel.java +++ b/dndBuilder/src/GUI/Panels/MainMenuPanel.java @@ -1,48 +1,83 @@ package GUI.Panels; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +import javax.swing.JPanel; +import java.awt.BorderLayout; +import javax.swing.JLabel; +import javax.swing.SwingConstants; +import java.awt.Font; +import java.awt.Color; +import javax.swing.border.BevelBorder; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; public class MainMenuPanel extends JPanel { - private int nextPanelSelected; + /** + * Create the panel. + */ + public MainMenuPanel() { + setBackground(new Color(222, 184, 135)); + setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); + setLayout(new BorderLayout(0, 0)); + + JLabel mainMenuLbl = mainMenuLbl(); + add(mainMenuLbl, BorderLayout.NORTH); + + JPanel controlPanel = createControlPanel(); + add(controlPanel, BorderLayout.CENTER); + } - public MainMenuPanel() { + /** + * @return + */ + private JPanel createControlPanel() { + JPanel controlPanel = new JPanel(); + controlPanel.setOpaque(false); + controlPanel.setLayout(null); + + JButton newCharBtn = new JButton("New \nCharacter"); + newCharBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + newCharBtn.setOpaque(true); + newCharBtn.setBackground(new Color(160, 82, 45)); + newCharBtn.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); + newCharBtn.setBounds(118, 90, 200, 50); + controlPanel.add(newCharBtn); + + JButton randCharacterBtn = new JButton("Random Character"); + randCharacterBtn.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + randCharacterBtn.setOpaque(true); + randCharacterBtn.setBackground(new Color(160, 82, 45)); + randCharacterBtn.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); + randCharacterBtn.setBounds(118, 156, 200, 50); + controlPanel.add(randCharacterBtn); + + JButton loadCharacter = new JButton("Load Character"); + loadCharacter.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + } + }); + loadCharacter.setOpaque(true); + loadCharacter.setBackground(new Color(160, 82, 45)); + loadCharacter.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 23)); + loadCharacter.setBounds(376, 98, 233, 97); + controlPanel.add(loadCharacter); + return controlPanel; + } - super(); - createMasterPanel(); - - } - - // TODO: Need to refactor/re-write, as current implementation utilizes ContinueButton. - private void createMasterPanel() { - - /*setLayout(new BorderLayout(0, 0)); - - JPanel masterPanel = new JPanel(); - - JLabel title = new JLabel("D&D Character Builder"); - title.setHorizontalAlignment(SwingConstants.CENTER); - masterPanel.add(title, BorderLayout.NORTH); - - JPanel buttonsContainer = new JPanel(new GridLayout(1, 2, 10, 10)); - - JPanel newCharacterContainer = new JPanel(new GridLayout(2, 1, 10, 10)); - newCharacterContainer.add(new Button("Create a New Character", 1)); - newCharacterContainer.add(new Button("Generate a Random Character", -1)); - buttonsContainer.add(newCharacterContainer); - - JPanel loadCharacterContainer = new JPanel(); - loadCharacterContainer.add(new Button("Load a Character", 7)); - buttonsContainer.add(loadCharacterContainer); - - masterPanel.add(buttonsContainer); - - add(masterPanel);*/ - - } - - - -} \ No newline at end of file + /** + * @return + */ + private JLabel mainMenuLbl() { + JLabel mainMenuLbl = new JLabel("Main Menu"); + mainMenuLbl.setFont(new Font("Bodoni 72 Smallcaps", Font.PLAIN, 33)); + mainMenuLbl.setHorizontalAlignment(SwingConstants.CENTER); + return mainMenuLbl; + } +} diff --git a/dndBuilder/src/GUI/Panels/step1.java b/dndBuilder/src/GUI/Panels/step1.java deleted file mode 100644 index f5cf588..0000000 --- a/dndBuilder/src/GUI/Panels/step1.java +++ /dev/null @@ -1,68 +0,0 @@ -package GUI.Panels; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.SwingConstants; -import javax.swing.border.BevelBorder; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTextPane; - -public class step1 extends JPanel { - - /** - * Create the panel. - */ - public step1() { - setBackground(new Color(222, 184, 135)); - setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); - setLayout(new BorderLayout(0, 0)); - - JLabel lblNewLabel = new JLabel("Step 1: Choose Race"); - lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); - lblNewLabel.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 33)); - add(lblNewLabel, BorderLayout.NORTH); - - JPanel racePanel = new JPanel(); - racePanel.setOpaque(false); - add(racePanel, BorderLayout.CENTER); - racePanel.setLayout(null); - - JTextPane textPane = new JTextPane(); - textPane.setBounds(47, 67, 223, 301); - racePanel.add(textPane); - - JPanel raceBtnPanel = new JPanel(); - raceBtnPanel.setBackground(new Color(165, 42, 42)); - raceBtnPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); - raceBtnPanel.setBounds(311, 6, 409, 394); - racePanel.add(raceBtnPanel); - - JButton dragonbornBtn = new JButton("Dragonborn"); - dragonbornBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - raceBtnPanel.add(dragonbornBtn); - - JPanel backContPanel = new JPanel(); - backContPanel.setBackground(new Color(205, 133, 63)); - add(backContPanel, BorderLayout.SOUTH); - - JButton backBtn = new JButton("<--- Back "); - backContPanel.add(backBtn); - - JButton continueBtn = new JButton("Continue --->"); - backContPanel.add(continueBtn); - - - - } -} diff --git a/dndBuilder/src/GUI/Panels/step2.java b/dndBuilder/src/GUI/Panels/step2.java deleted file mode 100644 index 994acc9..0000000 --- a/dndBuilder/src/GUI/Panels/step2.java +++ /dev/null @@ -1,201 +0,0 @@ -package GUI.Panels; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Font; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JPanel; -import javax.swing.JTextPane; -import javax.swing.SwingConstants; -import javax.swing.border.BevelBorder; -import javax.swing.JButton; -import javax.swing.JLabel; - -public class step2 extends JPanel { - - /** - * Create the panel. - */ - public step2() { - setBackground(new Color(222, 184, 135)); - setBorder(new BevelBorder(BevelBorder.RAISED, new Color(160, 82, 45), new Color(165, 42, 42), new Color(0, 0, 0), null)); - setLayout(new BorderLayout(0, 0)); - - JLabel lblNewLabel = createLbl(); - add(lblNewLabel, BorderLayout.NORTH); - //Creates back and continue panel - JPanel backContPanel = createBackContinuePanel(); - add(backContPanel, BorderLayout.SOUTH); - - JPanel innerPanel = new JPanel(); - innerPanel.setOpaque(false); - innerPanel.setLayout(null); - - JPanel infoPanel = createInfoPanel(); - innerPanel.add(infoPanel); - - JPanel btnPanel = createBtnPanel(); - innerPanel.add(btnPanel); - - add(innerPanel, BorderLayout.CENTER); - } - - private JPanel createBtnPanel() { - JPanel btnPanel = new JPanel(); - btnPanel.setBackground(new Color(165, 42, 42)); - btnPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); - btnPanel.setBounds(311, 6, 409, 394); - - JButton artificerBtn = new JButton("Artificer"); - artificerBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(artificerBtn); - - JButton barbarianBtn = new JButton("Barbarian"); - barbarianBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(barbarianBtn); - - JButton bardBtn = new JButton("Bard"); - bardBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(bardBtn); - - JButton clericBtn = new JButton("Cleric"); - clericBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(clericBtn); - - JButton druidBtn = new JButton("Druid"); - druidBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(druidBtn); - - JButton fighterBtn = new JButton("Figther"); - fighterBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(fighterBtn); - - JButton monkBtn = new JButton("Monk"); - monkBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(monkBtn); - - JButton paladinBtn = new JButton("Paladin"); - paladinBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(paladinBtn); - - JButton rangerBtn = new JButton("Ranger"); - rangerBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(rangerBtn); - - JButton rogueBtn = new JButton("Rogue"); - rogueBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(rogueBtn); - - JButton sorcererBtn = new JButton("Sorcerer"); - sorcererBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(sorcererBtn); - - JButton warlockBtn = new JButton("Warlock"); - warlockBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(warlockBtn); - - JButton wizardBtn = new JButton("Wizard"); - wizardBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - btnPanel.add(wizardBtn); - - - - return btnPanel; - } - - private JPanel createInfoPanel() { - JPanel infoPanel = new JPanel(); - infoPanel.setOpaque(false); - infoPanel.setBorder(new BevelBorder(BevelBorder.LOWERED, null, null, null, null)); - infoPanel.setBounds(6, 6, 293, 394); - infoPanel.setLayout(null); - - JLabel infoLbl = new JLabel("Information"); - infoLbl.setFont(new Font("Bodoni 72", Font.PLAIN, 20)); - infoLbl.setHorizontalAlignment(SwingConstants.CENTER); - infoLbl.setBounds(92, 6, 105, 16); - infoPanel.add(infoLbl); - - JTextPane infoTextPane = new JTextPane(); - infoTextPane.setOpaque(false); - infoTextPane.setBounds(6, 21, 281, 367); - infoPanel.add(infoTextPane); - return infoPanel; - } - - /** - * @return - */ - private JPanel createBackContinuePanel() { - JPanel backContPanel = new JPanel(); - backContPanel.setBackground(new Color(205, 133, 63)); - - - JButton backBtn = new JButton("<--- Back "); - backBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - backContPanel.add(backBtn); - - JButton continueBtn = new JButton("Continue --->"); - continueBtn.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - } - }); - backContPanel.add(continueBtn); - return backContPanel; - } - - /** - * @return - */ - private JLabel createLbl() { - JLabel lblNewLabel = new JLabel("Step 2: Choose Class"); - lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); - lblNewLabel.setFont(new Font("Bodoni 72 Oldstyle", Font.PLAIN, 33)); - return lblNewLabel; - } - -} diff --git a/dndBuilder/src/GUI/Panels/testJFrame.java b/dndBuilder/src/GUI/Panels/testJFrame.java deleted file mode 100644 index 34ab682..0000000 --- a/dndBuilder/src/GUI/Panels/testJFrame.java +++ /dev/null @@ -1,45 +0,0 @@ -package GUI.Panels; - -import java.awt.BorderLayout; -import java.awt.EventQueue; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.border.EmptyBorder; - -public class testJFrame extends JFrame { - - private JPanel contentPane; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - testJFrame frame = new testJFrame(); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the frame. - */ - public testJFrame() { - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setBounds(100, 100, 730, 550); - contentPane = new JPanel(); - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - contentPane.setLayout(new BorderLayout(0, 0)); - setContentPane(contentPane); - - step3 panel = new step3(); - contentPane.add(panel, BorderLayout.CENTER); - } - -}