0% found this document useful (0 votes)
3 views

Message

The document outlines the implementation of a Gym Management GUI using Java Swing, featuring various input fields for member details, gender selection, date of birth, membership start date, and plan options. It includes buttons for managing member actions such as adding members, activating memberships, and calculating discounts. The GUI is structured with panels for form fields and buttons, ensuring a user-friendly interface for gym management tasks.

Uploaded by

yext.38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Message

The document outlines the implementation of a Gym Management GUI using Java Swing, featuring various input fields for member details, gender selection, date of birth, membership start date, and plan options. It includes buttons for managing member actions such as adding members, activating memberships, and calculating discounts. The GUI is structured with panels for form fields and buttons, ensuring a user-friendly interface for gym management tasks.

Uploaded by

yext.38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

private JTextField idField, nameField, locationField, phoneField, emailField;

private JTextField referralSourceField, paidAmountField, removalReasonField,


trainerNameField;
private JTextField regularPlanPriceField, premiumPlanChargeField,
discountAmountField;

private JComboBox<String> dobYearCombo, dobMonthCombo, dobDayCombo;


private JComboBox<String> msYearCombo, msMonthCombo, msDayCombo;
private JComboBox<String> planCombo;

private JRadioButton maleRadio, femaleRadio, otherRadio;


private ButtonGroup genderGroup;

public GymGUI() {
createGUI();
}

private void createGUI() {


frame = new JFrame("Yug Gym");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1000, 600);

JPanel mainPanel = new JPanel(new BorderLayout(10, 10));


mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

JPanel formPanel = new JPanel(new GridBagLayout());


GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5);
gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.HORIZONTAL;

// === FORM FIELDS ===


int row = 0;

idField = addLabeledField(formPanel, "Member ID:", gbc, row++);


nameField = addLabeledField(formPanel, "Name:", gbc, row++);
locationField = addLabeledField(formPanel, "Location:", gbc, row++);
phoneField = addLabeledField(formPanel, "Phone:", gbc, row++);
emailField = addLabeledField(formPanel, "Email:", gbc, row++);

// Gender
gbc.gridx = 0; gbc.gridy = row;
formPanel.add(new JLabel("Gender:"), gbc);
JPanel genderPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));
maleRadio = new JRadioButton("Male");
femaleRadio = new JRadioButton("Female");
otherRadio = new JRadioButton("Other");
genderGroup = new ButtonGroup();
genderGroup.add(maleRadio); genderGroup.add(femaleRadio);
genderGroup.add(otherRadio);
genderPanel.add(maleRadio); genderPanel.add(femaleRadio);
genderPanel.add(otherRadio);
gbc.gridx = 1;
formPanel.add(genderPanel, gbc);
row++;

// DOB
gbc.gridx = 0; gbc.gridy = row;
formPanel.add(new JLabel("Date of Birth:"), gbc);
gbc.gridx = 1;
JPanel dobPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));
dobYearCombo = new JComboBox<>(generateYearOptions());
dobMonthCombo = new JComboBox<>(generateMonthOptions());
dobDayCombo = new JComboBox<>(generateDayOptions());
dobPanel.add(dobYearCombo); dobPanel.add(new JLabel("/"));
dobPanel.add(dobMonthCombo); dobPanel.add(new JLabel("/"));
dobPanel.add(dobDayCombo);
formPanel.add(dobPanel, gbc);
row++;

// Membership Start Date


gbc.gridx = 0; gbc.gridy = row;
formPanel.add(new JLabel("Membership Start Date:"), gbc);
gbc.gridx = 1;
JPanel msPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));
msYearCombo = new JComboBox<>(generateYearOptions());
msMonthCombo = new JComboBox<>(generateMonthOptions());
msDayCombo = new JComboBox<>(generateDayOptions());
msPanel.add(msYearCombo); msPanel.add(new JLabel("/"));
msPanel.add(msMonthCombo); msPanel.add(new JLabel("/"));
msPanel.add(msDayCombo);
formPanel.add(msPanel, gbc);
row++;

referralSourceField = addLabeledField(formPanel, "Referral Source:", gbc, row+


+);
paidAmountField = addLabeledField(formPanel, "Paid Amount:", gbc, row++);
removalReasonField = addLabeledField(formPanel, "Removal Reason:", gbc, row++);
trainerNameField = addLabeledField(formPanel, "Trainer's Name:", gbc, row++);

// Plan ComboBox
gbc.gridx = 0; gbc.gridy = row;
formPanel.add(new JLabel("Plan (Regular only):"), gbc);
gbc.gridx = 1;
planCombo = new JComboBox<>(new String[]{"Basic", "Standard", "Deluxe"});
formPanel.add(planCombo, gbc);
row++;

// Financial Details (Read-only fields)


regularPlanPriceField = addLabeledField(formPanel, "Regular Plan Price:", gbc,
row++);
premiumPlanChargeField = addLabeledField(formPanel, "Premium Plan Charge:",
gbc, row++);
discountAmountField = addLabeledField(formPanel, "Discount Amount:", gbc, row+
+);

regularPlanPriceField.setText("6500");
regularPlanPriceField.setEditable(false);
premiumPlanChargeField.setText("50000");
premiumPlanChargeField.setEditable(false);
discountAmountField.setText("0");
discountAmountField.setEditable(false);

//BUTTON PANEL
JPanel buttonPanel = new JPanel(new GridLayout(3, 1, 10, 10));

JPanel row1 = new JPanel(new FlowLayout(FlowLayout.CENTER));


row1.add(createButton("Add Regular Member", e -> addRegularMember()));
row1.add(createButton("Add Premium Member", e -> addPremiumMember()));
row1.add(createButton("Activate Membership", e -> activateMembership()));
row1.add(createButton("Deactivate Membership", e -> deactivateMembership()));
row1.add(createButton("Mark Attendance", e -> markAttendance()));

JPanel row2 = new JPanel(new FlowLayout(FlowLayout.CENTER));


row2.add(createButton("Upgrade Plan", e -> upgradePlan()));
row2.add(createButton("Revert Regular", e -> revertRegular()));
row2.add(createButton("Revert Premium", e -> revertPremium()));
row2.add(createButton("Pay Due Amount", e -> payDueAmount()));

JPanel row3 = new JPanel(new FlowLayout(FlowLayout.CENTER));


row3.add(createButton("Calculate Discount", e -> calculateDiscount()));
row3.add(createButton("Display", e -> displayInfo()));
row3.add(createButton("Clear", e -> clearFields()));

buttonPanel.add(row1);
buttonPanel.add(row2);
buttonPanel.add(row3);

// ADD PANELS TO MAIN


mainPanel.add(new JScrollPane(formPanel), BorderLayout.CENTER);
mainPanel.add(buttonPanel, BorderLayout.SOUTH);

frame.add(mainPanel);
frame.setVisible(true);
}

private JTextField addLabeledField(JPanel panel, String label, GridBagConstraints


gbc, int row) {
gbc.gridx = 0; gbc.gridy = row;
panel.add(new JLabel(label), gbc);
gbc.gridx = 1;
JTextField field = new JTextField();
panel.add(field, gbc);
return field;
}

private JButton createButton(String text, ActionListener listener) {


JButton btn = new JButton(text);
btn.addActionListener(listener);
return btn;
}

private String[] generateYearOptions() {


String[] years = new String[100];
for (int i = 0; i < 100; i++) years[i] = String.valueOf(2025 - i);
return years;
}

private String[] generateMonthOptions() {


return new String[]{"01", "02", "03", "04", "05", "06", "07", "08", "09", "10",
"11", "12"};
}

private String[] generateDayOptions() {


String[] days = new String[31];
for (int i = 0; i < 31; i++) days[i] = String.valueOf(i + 1);
return days;
}

private void addRegularMember() {


JOptionPane.showMessageDialog(frame, "Regular Member Added");
}

private void addPremiumMember() {


JOptionPane.showMessageDialog(frame, "Premium Member Added");
}

private void activateMembership() {


JOptionPane.showMessageDialog(frame, "Membership Activated");
}

private void deactivateMembership() {


JOptionPane.showMessageDialog(frame, "Membership Deactivated");
}

private void markAttendance() {


JOptionPane.showMessageDialog(frame, "Attendance Marked");
}

private void upgradePlan() {


JOptionPane.showMessageDialog(frame, "Plan Upgraded");
}

private void calculateDiscount() {


JOptionPane.showMessageDialog(frame, "Discount Calculated");
}

private void revertRegular() {


JOptionPane.showMessageDialog(frame, "Reverted to Regular Plan");
}

private void revertPremium() {


JOptionPane.showMessageDialog(frame, "Reverted to Premium Plan");
}

private void payDueAmount() {


JOptionPane.showMessageDialog(frame, "Due Amount Paid");
}

private void displayInfo() {


StringBuilder info = new StringBuilder();
for (GymMember member : members) {
info.append(member.toString()).append("\n");
}
JOptionPane.showMessageDialog(frame, info.toString());
}

private void clearFields() {


idField.setText("");
nameField.setText("");
locationField.setText("");
phoneField.setText("");
emailField.setText("");
referralSourceField.setText("");
paidAmountField.setText("");
removalReasonField.setText("");
trainerNameField.setText("");
regularPlanPriceField.setText("6500");
premiumPlanChargeField.setText("50000");
discountAmountField.setText("");

genderGroup.clearSelection();
dobYearCombo.setSelectedIndex(0);
dobMonthCombo.setSelectedIndex(0);
dobDayCombo.setSelectedIndex(0);
msYearCombo.setSelectedIndex(0);
msMonthCombo.setSelectedIndex(0);
msDayCombo.setSelectedIndex(0);
planCombo.setSelectedIndex(0);
}

public static void main(String[] args) {


SwingUtilities.invokeLater(GymGUI::new);
}

You might also like