diff --git a/src/main/java/cvbuilder/model/User.java b/src/main/java/cvbuilder/model/User.java index b0bca4c..1fab439 100644 --- a/src/main/java/cvbuilder/model/User.java +++ b/src/main/java/cvbuilder/model/User.java @@ -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; diff --git a/src/main/java/cvbuilder/view/MainViewer.java b/src/main/java/cvbuilder/view/MainViewer.java index 87c1a37..4ad2aff 100644 --- a/src/main/java/cvbuilder/view/MainViewer.java +++ b/src/main/java/cvbuilder/view/MainViewer.java @@ -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); + } + } + + + }