diff --git a/src/main/java/userprofilebuilder/model/User.java b/src/main/java/userprofilebuilder/model/User.java index 6b67f4f..809a083 100644 --- a/src/main/java/userprofilebuilder/model/User.java +++ b/src/main/java/userprofilebuilder/model/User.java @@ -4,11 +4,50 @@ */ package userprofilebuilder.model; +import java.io.BufferedReader; +import java.io.FileReader; + /** * * @author * This is model class may be handy for putting data relevant to the User Profile in */ public class User { - + public String getUser(int row, String Pname, String file) { + String text = "Default Text"; + String[] values = null; + try (BufferedReader csvReader = new BufferedReader(new FileReader(file))) { + while (csvReader.ready()) { + String line = csvReader.readLine(); + values = line.split(","); + + for (int i =0; i < values.length; i=i+4) + { + if ( row == Integer.parseInt(String.valueOf(values[i].charAt(4))) ) + { + if (Pname.equals("User Title")) + { + text = values[i+1]; + System.out.println("Set radio button text to :" + text); + return text; + } + else if (Pname.equals("User Name")) { + text = values[i+2]; + System.out.println("Set radio button text to :" + text); + return text; + } + else if (Pname.equals("User Email")) { + text = values[i+3]; + System.out.println("Set radio button text to :" + text); + return text; + } + } + } + } + } + catch (Exception e) { + System.out.println("error with reader"); + } + return text; + } } diff --git a/src/main/java/userprofilebuilder/model/UserGroup.java b/src/main/java/userprofilebuilder/model/UserGroup.java index 43a2859..703d620 100644 --- a/src/main/java/userprofilebuilder/model/UserGroup.java +++ b/src/main/java/userprofilebuilder/model/UserGroup.java @@ -4,11 +4,15 @@ */ package userprofilebuilder.model; +import java.io.*; + + /** * * @author * This is model class may be handy for putting data relevant groups of User Profiles in {many Users] */ public class UserGroup { - + + } diff --git a/src/main/java/userprofilebuilder/view/MainViewer.java b/src/main/java/userprofilebuilder/view/MainViewer.java index 52a48ae..a0bf959 100644 --- a/src/main/java/userprofilebuilder/view/MainViewer.java +++ b/src/main/java/userprofilebuilder/view/MainViewer.java @@ -6,6 +6,7 @@ package userprofilebuilder.view; import java.awt.*; import javax.swing.*; +import javax.swing.border.*; import java.awt.event.*; import java.io.*; @@ -24,23 +25,16 @@ public class MainViewer { public String Reader(int row, String Pname) { String text = "Default Text"; - //hi String[] values = null; try (BufferedReader csvReader = new BufferedReader(new FileReader(file))) { while (csvReader.ready()) { String line = csvReader.readLine(); -// System.out.println(line); values = line.split(","); for (int i =0; i < values.length; i=i+4) { -// System.out.println(i); -// System.out.println(row); -// System.out.println(values[i].charAt(4)); - if ( row == Integer.parseInt(String.valueOf(values[i].charAt(4))) ) { -// System.out.println("row checker passed."); if (Pname.equals("User Title")) { text = values[i+1]; @@ -59,62 +53,45 @@ public class MainViewer { } } } - - } - //assigning them to the correct panel and row. - - // math for it == 4 values per csv row. -> char at [4] of 0 or 4 or 8 --> corresponds to the row it affects. - // get total amount of values. -> 11(array form) -> + 1 then div 4(values per row) = amount of rows needed - // get row. if Pname = "title", RadioB.setText(values[row*4+1]); - // get row. if Pname = "user name", RadioB.setText(values[row*4+2]); - // get row. if Pname = "user email", RadioB.setText(values[row*4+3]); - // if row == values.charAt[4] then do above. - -// for (int i = 0; i < values.length; i++) debug code... -// { -// System.out.println(values[i]); -// } - -// System.out.println(row); -// System.out.println(values[0].charAt(4)); - - } catch (Exception e) { System.out.println("error with reader"); } - -// System.out.println(text); return text; } // end of reader - private void CreateRow(int count, JPanel jp, String Pname) // Function to create a row // holds all the data of a row in the grid layout below. + private void CreateRow(int count, JPanel jp, String Pname) { - int row = count+1; - //String name = "Name"; - - // Temporary row distinguishing rename String name = Reader(row, Pname); - // end of temporary row rename - - JRadioButton JR = new JRadioButton(name); // temporary use of name as label for JRadioButton - to allow for the use of text being manipulated // changed. + JPanel minipanel = new JPanel(); + + JRadioButton JR = new JRadioButton(name); JButton JEdit = new JButton("Edit"); JButton JDelete = new JButton("Delete"); - - jp.add(JR); - jp.add(JEdit); - jp.add(JDelete); + // setting the border title to the correct title + TitledBorder rowtitle; + rowtitle = BorderFactory.createTitledBorder("User "+ row); + minipanel.setBorder(rowtitle); + // end of border title code - // below are action listeners + minipanel.add(JR); + minipanel.add(JEdit); + minipanel.add(JDelete); + + jp.add(minipanel); + + ButtonGroup group = new ButtonGroup(); + group.add(JR); + System.out.println("Row number: "+ row + " Has been created!"); @@ -129,6 +106,11 @@ public class MainViewer { }; JR.addActionListener(RadioListener); + ActionListener Deleter = e -> { + System.out.println("Delete attempted for row: "+ row); + }; + JDelete.addActionListener(Deleter); + } @@ -171,7 +153,15 @@ public class MainViewer { JPanel page = new JPanel(); - page.setLayout(new GridLayout(0,3)); // Because i cant remember the orientation of grid layout params it's (x,y) AKA rows , columns + page.setLayout(new GridLayout(0,1)); // Because i cant remember the orientation of grid layout params it's (x,y) AKA rows , columns + + + // setting the border title to the correct title + TitledBorder titled; + String[] Tname = Pname.split(" "); + titled = BorderFactory.createTitledBorder(Tname[1]); + page.setBorder(titled); + // end of border title code JT.addTab(Pname, page); @@ -183,17 +173,40 @@ public class MainViewer { public MainViewer() // main viewer window { + + + viewer = new JFrame(); viewer.setTitle("User Profile Builder"); viewer.setSize(800,500); viewer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTabbedPane JT = new JTabbedPane(); + JMenuBar menuBar = new JMenuBar(); + JMenu menu = new JMenu("file"); + + menuBar.add(menu); + + JMenuItem open = new JMenuItem("Open"); + menu.add(open); + ActionListener opener = e -> { + System.out.println("Open file?"); + }; + open.addActionListener(opener); + JMenuItem quit = new JMenuItem("Quit"); + menu.add(quit); + ActionListener quitter = e -> { + viewer.dispose(); + }; + quit.addActionListener(quitter); + + viewer.setJMenuBar(menuBar); TabMaker("User Title", JT); TabMaker("User Name", JT); TabMaker("User Email", JT); + viewer.add(JT); JT.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);