Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Scanner;
- import javax.swing.BorderFactory;
- import javax.swing.BoxLayout;
- import javax.swing.ButtonGroup;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.JTextField;
- public class GUI_Driver extends JFrame {
- private static final long serialVersionUID = 1L;
- private JTextField jtfFName, jtfMName, jtfSName, jtfDOB, jtfSSN, jtfSerialNo;// ,
- // jtfSearch
- private JRadioButton jrbMale, jrbFemale;
- private JComboBox<String> jcbSelect, jcbYear;
- private Container myContents;
- private JButton jGenerate, jUpdate, jCancel; // , jRemove, jSearch
- private ActionHandler buttonAction;
- private driver[] driver;
- private int tracker, index;
- private PrintWriter printToFile;
- private String carNum;
- GUI_Driver(String carNum) {
- super("Driver information");
- this.carNum = carNum;
- configureFrame();
- initialiseInstances();
- designInterface();
- }
- private void configureFrame() {
- this.setSize(600, 400);
- this.setLocationRelativeTo(null);
- this.setResizable(false);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- myContents = this.getContentPane();
- }
- private void initialiseInstances() {
- buttonAction = new ActionHandler();
- jtfFName = new JTextField(10);
- jtfMName = new JTextField(10);
- jtfSName = new JTextField(10);
- jtfDOB = new JTextField(10);
- jtfSSN = new JTextField(10);
- // jtfSearch = new JTextField(10);
- jtfSerialNo = new JTextField(10);
- jtfSerialNo.setText(carNum);
- jrbMale = new JRadioButton("Male");
- jrbMale.addActionListener(buttonAction);
- jrbFemale = new JRadioButton("Female");
- jrbFemale.addActionListener(buttonAction);
- jcbSelect = new JComboBox<String>();
- jcbSelect.addItem("Select");
- jcbSelect.addItem("Car");
- jcbSelect.addItem("Motorbike");
- jcbSelect.addItem("Truck");
- jcbSelect.addItem("Van");
- jcbSelect.setSelectedIndex(0);
- jcbSelect.setName("Type of Licence");
- jcbYear = new JComboBox<String>();
- for (int i = 2018; i > 1900; i--) {
- jcbYear.addItem(" " + i);
- }
- jcbYear.setSelectedIndex(0);
- jcbYear.setName("Year of Issue");
- jGenerate = new JButton("Update");
- jGenerate.addActionListener(buttonAction);
- jUpdate = new JButton("Clear");
- jUpdate.addActionListener(buttonAction);
- jCancel = new JButton("CANCEL");
- jCancel.addActionListener(buttonAction);
- // jRemove = new JButton("Remove Driver");
- // jRemove.addActionListener(buttonAction);
- // jSearch = new JButton("Search for Driver");
- // jSearch.addActionListener(buttonAction);
- driver = new driver[100];
- tracker = 0;
- index = -1;
- ButtonGroup group = new ButtonGroup();
- group.add(jrbMale);
- group.add(jrbFemale);
- }
- private void designInterface() {
- JPanel p1 = new JPanel();
- p1.setLayout(new GridLayout(8, 1));
- p1.add(new JLabel("First Name"));
- p1.add(new JLabel("Middle Name"));
- p1.add(new JLabel("Sur Name"));
- p1.add(new JLabel("Date of Birth"));
- p1.add(new JLabel("SSN"));
- p1.add(new JLabel("Gender"));
- p1.add(new JLabel("Licence Type"));
- p1.add(new JLabel("Year of Issue"));
- JPanel p2 = new JPanel();
- p2.setLayout(new FlowLayout());
- p2.add(jrbMale);
- p2.add(jrbFemale);
- JPanel p3 = new JPanel();
- p3.setLayout(new GridLayout(2, 1));
- p3.add(jcbSelect);
- p3.add(jcbYear);
- JPanel p4 = new JPanel();
- p4.setLayout(new GridLayout(8, 1));
- p4.add(jtfFName);
- p4.add(jtfMName);
- p4.add(jtfSName);
- p4.add(jtfDOB);
- p4.add(jtfSSN);
- p4.add(p2);
- p4.add(p3);
- JPanel p5 = new JPanel();
- p5.setLayout(new BorderLayout());
- p5.add(p1, BorderLayout.WEST);
- p5.add(p4, BorderLayout.EAST);
- p5.setBorder(BorderFactory.createTitledBorder(" "));
- JPanel p7 = new JPanel();
- p7.setLayout(new FlowLayout());
- p7.add(new JLabel(("Serial No.")));
- p7.add(jtfSerialNo);
- // JPanel search = new JPanel();
- // search.setLayout(new FlowLayout());
- // search.add(new JLabel("Search for Driver"));
- // search.add(jtfSearch);
- JPanel p8 = new JPanel();
- p8.setLayout(new GridLayout(3, 1));
- p8.add(jGenerate);
- // p8.add(jSearch);
- // p8.add(search);
- JPanel p10 = new JPanel();
- p10.setLayout(new BoxLayout(p10, BoxLayout.PAGE_AXIS));
- p10.add(p7);
- p10.add(p8);
- p10.setPreferredSize(new Dimension(200, 100));
- JPanel p11 = new JPanel();
- p11.setLayout(new FlowLayout());
- // p11.add(jRemove);
- p11.add(jUpdate);
- p11.add(jCancel);
- p11.setBorder(BorderFactory.createTitledBorder(" "));
- JPanel p12 = new JPanel();
- p12.setLayout(new BorderLayout());
- p12.add(p5, BorderLayout.WEST);
- p12.add(p10, BorderLayout.EAST);
- p12.add(p11, BorderLayout.SOUTH);
- myContents.add(p12);
- }
- public void writeToFile(JTextField FName, JTextField MName, JTextField SName, JTextField DOB, JTextField SSN,
- JRadioButton jrbmale, JRadioButton jrbFemale, JComboBox<String> jcbSelect, JComboBox<String> jcbYear,
- JTextField SNo) {
- FileWriter write;
- File myDriveFile = new File("/Users/VictoriaJansson/Desktop/DriverFile.txt");
- try {
- write = new FileWriter(myDriveFile, true);
- printToFile = new PrintWriter(write);
- printToFile.write(FName.getText());
- printToFile.write(", ");
- printToFile.write(MName.getText());
- printToFile.write(", ");
- printToFile.write(SName.getText());
- printToFile.write(", ");
- printToFile.write(DOB.getText());
- printToFile.write(", ");
- printToFile.write(SSN.getText());
- printToFile.write(", ");
- if (jrbFemale.isSelected()) {
- printToFile.write(jrbFemale.getText());
- printToFile.write(", ");
- } else {
- printToFile.write(jrbMale.getText());
- printToFile.write(", ");
- }
- printToFile.write(jcbSelect.getSelectedItem().toString());
- printToFile.write(", ");
- printToFile.write(jcbYear.getSelectedItem().toString());
- printToFile.write(", ");
- printToFile.println();
- printToFile.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void addDriver() {
- String fName = jtfFName.getText().toString();
- String mName = jtfMName.getText().toString();
- String sName = jtfSName.getText().toString();
- int dob = Integer.parseInt(jtfDOB.getText().toString());
- int ssn = Integer.parseInt(jtfSSN.getText().toString());
- int sno = Integer.parseInt(jtfSerialNo.getText().toString());
- driver[tracker] = new driver(fName, mName, sName, dob, ssn, sno);
- JOptionPane.showMessageDialog(null, "You have now added a driver", "New Driver",
- JOptionPane.INFORMATION_MESSAGE);
- tracker++;
- }
- public void clearRButton() {
- ButtonGroup group = new ButtonGroup();
- group.add(jrbMale);
- group.add(jrbFemale);
- group.clearSelection();
- }
- public int searchDriver(int num) {
- for (int i = 0; i < tracker; i++) {
- if (driver[i].getsno() == num)
- index = i;
- }
- return index;
- }
- public int removeDriver(int num) {
- if (tracker == 0) {
- JOptionPane.showMessageDialog(null, "There are no drivers to remove", "No Drivers",
- JOptionPane.INFORMATION_MESSAGE);
- } else if (searchDriver(num) == -1) {
- JOptionPane.showMessageDialog(null, "The Driver was not found", "Unknown Driver",
- JOptionPane.INFORMATION_MESSAGE);
- } else {
- index = searchDriver(num);
- }
- driver[index] = driver[tracker - 1];
- driver[tracker - 1] = new driver();
- tracker--;
- FileWriter write;
- File myDriverFile = new File("/Users/VictoriaJansson/Desktop/DriverFile.txt");
- try {
- write = new FileWriter(myDriverFile, false);
- printToFile = new PrintWriter(write);
- for (int i = 0; i < tracker; i++) {
- driver x = driver[i];
- printToFile.write(x.getfName());
- printToFile.write(",");
- printToFile.write(x.getmName());
- printToFile.write(",");
- printToFile.write(x.getsName());
- printToFile.write(",");
- printToFile.write(x.getssn());
- printToFile.write(",");
- printToFile.write(x.getdob());
- printToFile.write(",");
- printToFile.write(x.getsno());
- printToFile.println();
- }
- printToFile.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- JOptionPane.showMessageDialog(null, "The Driver is deleted", "No Drivers", JOptionPane.INFORMATION_MESSAGE);
- return tracker;
- }
- public void getFile() {
- Scanner readData = null;
- String getDriver = "/Users/VictoriaJansson/Desktop/DriverFile.txt";
- File myFile = new File(getDriver);
- try {
- readData = new Scanner(myFile);
- while (readData.hasNextLine()) {
- String[] lineCont = readData.nextLine().split(",");
- driver[tracker] = new driver(lineCont[0], lineCont[1], lineCont[2], Integer.parseInt(lineCont[3]),
- Integer.parseInt(lineCont[4]), Integer.parseInt(lineCont[5]));
- // System.out.println(driver[tracker].toString());
- tracker++;
- }
- // FileWriter writeToFile = new FileWriter(myFile, true);
- // PrintWriter printData = new PrintWriter(writeToFile);
- // readData.close();
- // printData.close();
- } catch (FileNotFoundException e) {
- System.out.println("File not found");
- } catch (IOException e) {
- System.out.println("File cannot be read ");
- }
- }
- public class ActionHandler implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent e) {
- String strAction = e.getActionCommand().toString();
- switch (strAction) {
- case "Update":
- addDriver();
- writeToFile(jtfFName, jtfMName, jtfSName, jtfDOB, jtfSSN, jrbMale, jrbFemale, jcbSelect, jcbYear,
- jtfSerialNo);
- break;
- case "Clear":
- jtfFName.setText("");
- jtfMName.setText("");
- jtfSName.setText("");
- jtfDOB.setText("");
- jtfSSN.setText("");
- jtfSerialNo.setText("");
- clearRButton();
- jcbYear.setSelectedIndex(0);
- jcbSelect.setSelectedIndex(0);
- break;
- case "Remove Driver":
- int hej = -1;
- writeToFile(jtfFName, jtfMName, jtfSName, jtfDOB, jtfSSN, jrbMale, jrbFemale, jcbSelect, jcbYear,
- jtfSerialNo);
- int sno = Integer.parseInt(jtfSerialNo.getText().toString());
- hej = removeDriver(sno);
- break;
- case "CANCEL":
- JOptionPane.showMessageDialog(null, "You chose to CANCEL", "Close", JOptionPane.INFORMATION_MESSAGE);
- System.exit(0);
- break;
- }
- }
- public class comboHandler implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent event) {
- @SuppressWarnings("unchecked")
- String chStr = (String) (((JComboBox<String>) event.getSource()).getSelectedItem());
- System.out.println(chStr);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement