race and class GUIs, pending continue button implementation into GUImanager

This commit is contained in:
Josh Ashton
2022-11-09 22:32:48 -07:00
parent 39d6470e66
commit 582c6c41bc
8 changed files with 191 additions and 368 deletions
@@ -0,0 +1,79 @@
package GUI.Panels;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ChooseClassPanel extends JPanel{
private String classChoice;
private boolean ableToContinue;
public ChooseClassPanel() {
super();
createMasterPanel();
}
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;
}
}
+26 -13
View File
@@ -9,10 +9,9 @@ import java.awt.event.ActionListener;
public class ChooseRacePanel extends JPanel {
private String raceChoice;
private boolean ableToContinue;
/**
* Create the panel.
*/
public ChooseRacePanel() {
super();
@@ -38,7 +37,6 @@ public class ChooseRacePanel extends JPanel {
racesContainer.add(createButton(availableRaces[i]));
}
masterPanel.add(racesContainer);
@@ -47,24 +45,39 @@ public class ChooseRacePanel extends JPanel {
}
private JButton createButton(String raceName) {
private JButton createButton(String userChoice) {
JButton button = new JButton(raceName);
button.addActionListener(
JButton button = new JButton(userChoice);
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
button.addActionListener(
raceChoice = raceName;
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;
}
}
@@ -1,49 +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;
import javax.swing.JButton;
public class GuiCharacterFrame extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
/* public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GuiCharacterFrame frame = new GuiCharacterFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}*/
/**
* Create the frame.
*/
/* public GuiCharacterFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 550, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
ChooseRacePanel panel = new ChooseRacePanel();
contentPane.add(panel, BorderLayout.CENTER);
JButton submitBttn = new JButton("Next");
panel.add(submitBttn, BorderLayout.SOUTH);
}*/
}
@@ -0,0 +1,48 @@
package GUI.Panels;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MainMenuPanel extends JPanel {
private int nextPanelSelected;
public MainMenuPanel() {
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);*/
}
}
@@ -1,96 +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;
import java.awt.Color;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Insets;
import java.awt.FlowLayout;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import java.awt.GridLayout;
import java.awt.ScrollPane;
import java.awt.Scrollbar;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.JScrollBar;
public class dndCharacterSheet extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JPanel panel;
private JTextField textField_1;
private JTextField textField_2;
/**
* Launch the application.
*/
/* public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
dndCharacterSheet frame = new dndCharacterSheet();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}*/
/**
* Create the frame.
*/
public dndCharacterSheet() {
JLabel imageLabel = new JLabel(new ImageIcon(getClass().getResource("/dnd/img/sheet.jpg")));
JPanel newPanel = new JPanel();
newPanel.add(imageLabel);
JScrollPane scrollPane = new JScrollPane(newPanel);
this.getContentPane().add(scrollPane, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 850, 1200);
setVisible(true);
pack();
// contentPane = new JPanel();
// contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
// setContentPane(contentPane);
// contentPane.setLayout(new BorderLayout(0, 0));
/*ImagePanel imagePanel = new ImagePanel();
JScrollPane scrollPane = new JScrollPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new BorderLayout(0, 0));
panel1.add(imagePanel, BorderLayout.CENTER);
scrollPane.add(panel1);
imagePanel.setLayout(null);
contentPane.add(scrollPane, BorderLayout.CENTER);*/
// ImagePanel imagePanel = new ImagePanel();
// contentPane.add(imagePanel, BorderLayout.CENTER);
// imagePanel.setLayout(null);
}
}