W3R1 – Add a MenuBar
This commit is contained in:
1 parent
ff35eb0464
commit
3311290080
3 files changed
+98
-42
No files matched your search
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,9 @@
|
||||
*/
|
||||
package userprofilebuilder.model;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author
|
||||
@@ -11,4 +14,5 @@ package userprofilebuilder.model;
|
||||
*/
|
||||
public class UserGroup {
|
||||
|
||||
|
||||
}
|
||||
@@ -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
|
||||
JPanel minipanel = new JPanel();
|
||||
|
||||
JRadioButton JR = new JRadioButton(name); // temporary use of name as label for JRadioButton - to allow for the use of text being manipulated // changed.
|
||||
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);
|
||||
|
||||
|
||||
Reference in new issue
Block a user