Created a function to get user attributes, created a main viewer populate method and a method to populate each panel by getting user attributes based on panel name

This commit is contained in:
bobbert committed 2025-04-02 13:12:06 +01:00
1 parent 7b9f08a859
commit 8245777db1
2 files changed
+78

No files matched your search

+14
View File
@@ -8,6 +8,20 @@ public class User {
private String phone;
private String address;
private String getUserAttribute(User user, String panelName) {
return switch (panelName.toLowerCase()) {
case "title" -> user.getTitle();
case "name" -> user.getName();
case "email" -> user.getEmail();
case "phone" -> user.getPhone();
case "address" -> user.getAddress();
default -> "method error";
};
}
//basic getters and setters
public String getAddress() {
return address;
@@ -1,7 +1,11 @@
package cvbuilder.view;
import cvbuilder.model.User;
import cvbuilder.model.UserGroup;
import javax.swing.*;
public class MainViewer {
public MainViewer() {
@@ -9,5 +13,65 @@ public class MainViewer {
viewer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
viewer.setSize(800, 500);
viewer.setVisible(true);
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
menuBar.add(menu);
viewer.setJMenuBar(menuBar);
populateMainPanel(viewer);
}
public void populateMainPanel(JFrame viewer) {
JTabbedPane outer = new JTabbedPane();
JTabbedPane userT = new JTabbedPane();
JTabbedPane contactT = new JTabbedPane();
// User tab
JPanel title = new JPanel();
title.setName("title");
JPanel name = new JPanel();
name.setName("name");
JPanel email = new JPanel();
email.setName("email");
populatePanel(title);
populatePanel(name);
populatePanel(email);
userT.addTab("Title", title);
userT.addTab("Name", name);
userT.addTab("Email", email);
outer.addTab("User", userT);
// Contact tab
JPanel phone = new JPanel();
phone.setName("phone");
JPanel address = new JPanel();
address.setName("address");
populatePanel(phone);
populatePanel(address);
contactT.addTab("Phone", phone);
contactT.addTab("Address", address);
outer.addTab("Contact", contactT);
viewer.add(outer);
}
private void populatePanel(JPanel panel) {
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
ButtonGroup group = new ButtonGroup();
String panelName = panel.getName();
for (User user : UserGroup.getUsers()) {
JRadioButton radioButton = new JRadioButton(getUserAttribute(user, panelName));
group.add(radioButton);
panel.add(radioButton);
}
}
}