Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Megan Dollery
A00175050
Java
Lab 7
Task1
Main:
public class main {
public static void main(String[] args){
Window aFrame = new Window("Task1");}
}
Student:
public class Student {
private String name; private String address; private int id;
public Student(String nameParam, String addressParam) {
name = nameParam; address = addressParam; id = this . id ;
} public void setName(String nameParam) {
name = nameParam; } public String getName() {
return name; } public void setAddress(String addressParam) {
address = addressParam; } public String getAddress() {
return address; } public void setID(int idParam) {
id = idParam; }
public int getID() {
return id; }
}
Student Factory:
import java.util.Vector;
public class StudentFactory {
private static StudentFactory theInstance = null;private Vector<Student> v = new Vector<Student>();
private StudentFactory(){
System.out.println("Constructor for factory called");}
public static StudentFactory getInstance(){
if(theInstance == null){
theInstance = new StudentFactory();return theInstance;
}else{
System.out.println("The Factory does already exsist");return theInstance;
}}
public void createStudent(String nameParam, String addressParam){
System.out.println("Creating a Student called "+nameParam);Student aStudent = new Student(nameParam, addressParam);
v.add(aStudent); for(int i = 0; i < v.size(); i++) { aStudent = (Student)v.elementAt(i); aStudent.setID(i);
System.out.println("Students: "+ aStudent.getName());}
}
public void deleteStudent(int idParam){
System.out.println("Deleting Student at "+ idParam);
for(int i = 0; i <= v.size(); i++){
Student aStudent = (Student)v.elementAt(i);
if(aStudent.getID() == idParam){
v.removeElementAt(idParam);break;
}}
}
public void readStudent(int idParam){
System.out.println("Reading a Student at "+ idParam);
for(int i = 0; i <= v.size(); i++){
Student aStudent = (Student)v.elementAt(i);
if(aStudent.getID() == idParam){
String name = aStudent.getName();String address = aStudent.getAddress();
System.out.println("Student Name: " + aStudent.getName());
System.out.println("Student Address: " + aStudent.getAddress());
break;}
}}
public void updateStudent(String nameParam, String addressParam, int idParam)
{System.out.println("Updating a Student called "+ nameParam);
for(int i = 0; i <= v.size(); i++){
Student aStudent = (Student)v.elementAt(i);
if(aStudent.getID() == idParam){
aStudent.setName(nameParam);aStudent.setAddress(addressParam);break;
}}
}}
Window:
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class Window extends JFrame implements ActionListener
{
private JButton create = new JButton("Create");
private JButton delete = new JButton("Delete");
private JButton read = new JButton("Read");
private JButton update = new JButton("Update");
private StudentFactory theFactory;
public Window(String s)
{
super(s);
getContentPane().setLayout(new GridLayout(2,2));
getContentPane().add(create);
getContentPane().add(read);
getContentPane().add(update);
getContentPane().add(delete);
create.addActionListener(this);
delete.addActionListener(this);
read.addActionListener(this);
update.addActionListener(this);
theFactory = StudentFactory.getInstance();
setSize(300,400);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource().equals(create))
{
CreateWindow aFrame = new CreateWindow("Create");
}
else if(e.getSource().equals(delete))
{
DeleteWindow aFrame = new DeleteWindow("Delete");
}
else if(e.getSource().equals(read))
{
ReadWindow aFrame = new ReadWindow("Read");
}
else if(e.getSource().equals(update))
{
UpdateWindow aFrame = new UpdateWindow("Update");
}
}
}
CreateWindow:
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class CreateWindow extends JFrame implements ActionListener
{
private JButton ok = new JButton("Ok");
private JButton cancel = new JButton("Cancel");
private JLabel ID = new JLabel("ID: ");
private JTextField IDText = new JTextField();
private JLabel name = new JLabel("Name: ");
private JTextField nameText = new JTextField();
private JLabel address = new JLabel("Address: ");
private JTextField addressText = new JTextField();
private StudentFactory theFactory;
public CreateWindow(String s)
{
super(s);
getContentPane().setLayout(new GridLayout(3,2));
//getContentPane().add(ID);
//getContentPane().add(IDText);
getContentPane().add(name);
getContentPane().add(nameText);
getContentPane().add(address);
getContentPane().add(addressText);
getContentPane().add(cancel);
getContentPane().add(ok);
ok.addActionListener(this);
cancel.addActionListener(this);
theFactory = StudentFactory.getInstance();
setSize(300,400);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource().equals(ok))
{
String name = nameText.getText();
String address = addressText.getText();
theFactory.createStudent(name, address);
JOptionPane.showMessageDialog(new JFrame(), "Student Created.");
}
else if(e.getSource().equals(cancel))
{
this.dispose();
}
}
}
DeleteWindow:
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class DeleteWindow extends JFrame implements ActionListener{
private JButton ok = new JButton("Ok");private JButton cancel = new JButton("Cancel");private JLabel ID = new JLabel("ID: ");private JTextField IDText = new JTextField();
private StudentFactory theFactory;
public DeleteWindow(String s){
super(s);
getContentPane().setLayout(new GridLayout(3,2));getContentPane().add(ID);getContentPane().add(IDText);getContentPane().add(cancel);getContentPane().add(ok);
ok.addActionListener(this);cancel.addActionListener(this);
theFactory = StudentFactory.getInstance();
setSize(300,400); setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(ok)){
int id = Integer.parseInt(IDText.getText()); theFactory.deleteStudent(id); JOptionPane.showMessageDialog(new JFrame(), "Student Deleted.");
}else if(e.getSource().equals(cancel)){
this.dispose();}
}}
Update Window:
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class UpdateWindow extends JFrame implements ActionListener{
private JButton ok = new JButton("Ok");private JButton cancel = new JButton("Cancel");private JLabel ID = new JLabel("ID: ");private JTextField IDText = new JTextField();private JLabel Name = new JLabel("Name: ");private JTextField NameText = new JTextField();
private JLabel Address = new JLabel("Address: ");private JTextField AddressText = new JTextField();
private StudentFactory theFactory;
public UpdateWindow(String s){
super(s);
getContentPane().setLayout(new GridLayout(4,2));getContentPane().add(ID);getContentPane().add(IDText);getContentPane().add(Name);getContentPane().add(NameText);getContentPane().add(Address);getContentPane().add(AddressText);getContentPane().add(cancel);getContentPane().add(ok);
ok.addActionListener(this);cancel.addActionListener(this);
theFactory = StudentFactory.getInstance();
setSize(300,400); setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(ok)){
int id = Integer.parseInt(IDText.getText());String name = NameText.getText();String address = AddressText.getText();
theFactory.updateStudent(name, address,id); JOptionPane.showMessageDialog(new JFrame(), "Student Updated.");
}else if(e.getSource().equals(cancel)){
this.dispose();}
}}
Read Window:
import java.awt.event.*;
import javax.swing.*;
import java.awt.GridLayout;
public class ReadWindow extends JFrame implements ActionListener{
private JButton ok = new JButton("Ok");private JButton cancel = new JButton("Cancel");private JLabel ID = new JLabel("ID: ");private JTextField IDText = new JTextField();
private StudentFactory theFactory;private Student aStudent;
public ReadWindow(String s){
super(s);
getContentPane().setLayout(new GridLayout(2,2));getContentPane().add(ID);getContentPane().add(IDText);getContentPane().add(cancel);getContentPane().add(ok);
ok.addActionListener(this);cancel.addActionListener(this);
theFactory = StudentFactory.getInstance();
setSize(300,400); setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(ok)){
int id = Integer.parseInt(IDText.getText());
theFactory.readStudent(id);
JOptionPane.showMessageDialog(new JFrame(), "Student Read.");}else if(e.getSource().equals(cancel)){
this.dispose();}
}}
Sceenshots: