1.Displaying Views


Steps:
1.     On NetBeans, create folder  and file structure as shown below:


1.1   MenuView.java
Design:
 
Code:
package Views;
public class MenuView extends javax.swing.JFrame {
    public MenuView(){
        super("Menu");
        initComponents();
    }
    public MenuView(java.awt.event.ActionListener listener) {
    this();
    EmployeesView.addActionListener(btnSignup, listener,"signup");
    EmployeesView.addActionListener(btnEmpList, listener,"empList");
    EmployeesView.addActionListener(btnUpdate, listener,"update");
    EmployeesView.addActionListener(btnDelete, listener,"delete");
    this.setVisible(true); 
    }
}
1.2   SignupView.java
Design:
Code:
package Views;
public class SignupView extends javax.swing.JFrame {
    public SignupView(){
        super("Employee Signup");
        initComponents();
    }
    public SignupView(java.awt.event.ActionListener listener) {
        this();
        EmployeesView.addActionListener(btnSave, listener,"save");
        this.setVisible(true);
    }
}

1.3   EmpListView.java
Design:
 
Code:
package Views;
public class EmpListView extends javax.swing.JFrame {
    public EmpListView() {
        super("Employees");
        initComponents();
    }
    public EmpListView(java.awt.event.ActionListener listener){
       this();
       EmployeesView.addActionListener(btnClose, listener,"close");
       this.setVisible(true);
    }
}

1.4   EmpEditDeleteView.java
Design:
Code:
package Views;
public class EmpEditDeleteView extends javax.swing.JFrame {
    public EmpEditDeleteView() {
        super("Employee Edit/Delete");
        initComponents();
    }
   public EmpEditDeleteView(java.awt.event.ActionListener listener,String btnText){
       this();
       btnAction.setText(btnText);
       EmployeesView.addActionListener(btnAction, listener,btnAction.getText());
       EmployeesView.addActionListener(btnSearch, listener,"search");
       this.setVisible(true); 
   }
}

2.     On MSAccess 2003, create a database EmployeesDB.mdb and on query tab write the SQL statement below:
CREATE TABLE Employees
(
id AUTOINCREMENT ,
EmpName TEXT(50),
EmpAddress TEXT(100)
)
Note: Save the database to the EmployeesMVC folder.

3.     On  EmployeesMVC.java type the following:
package employeesmvc;
import Models.*;
import Views.*;
import Controllers.*;

public class EmployeesMVC {
    public static void main(String[] args) {
        EmployeesModel model = new EmployeesModel(MSAccessDB.Connect());
        EmployeesView view = new EmployeesView(model);
        EmployeesController controller = new EmployeesController(model,view);
    }
}

4.     On the EmployeesModel.java type the following:
package Models;
import java.sql.*;
public class EmployeesModel extends PersonsModel {
    private int id;
    Connection db;
    public int getId(){return id;}
    public void setId(int id){this.id= id;}
    public EmployeesModel(){}
    public EmployeesModel(Connection db){
    this.db=db;
    }   
}

5.     On PersonsModel.java type the following:
package Models;
public class PersonsModel {
    private String name;
    private String address;
    public void setName(String name){this.name=name;}
    public String getName(){return name;}
    public void setAddress(String address){this.address=address;}
    public String getAddress(){return address;}
    public PersonsModel(){}
}
6.     On  EmployeesView.java type the following:
package Views;
import Models.*;
import java.awt.event.*;
import javax.swing.*;

public class EmployeesView {
    EmployeesModel model;
    MenuView menu;
    SignupView signup;
    EmpListView empList;
    EmpEditDeleteView empEditDelete;
   
    public EmployeesView(){}
    public EmployeesView(EmployeesModel model){
    this.model=model;
    }
    public void menu(ActionListener listener){
        menu = new MenuView(listener);
    }
    public void signup(ActionListener listener){
        signup= new SignupView(listener); 
    }
    public void empList(ActionListener listener){
        empList= new EmpListView(listener);
    }
    public void update(ActionListener listener, String btnText){
        empEditDelete =  new EmpEditDeleteView(listener,btnText);
    }
    public static void addActionListener(JButton btn, ActionListener listener,String action){
        btn.addActionListener(listener);
        btn.setActionCommand(action);
    }
}

7.     On  EmployeesController.java type the following:
package Controllers;
import Models.*;
import Views.*;
import java.awt.event.*;

public class EmployeesController {
    EmployeesModel model;
    EmployeesView view;
    public EmployeesController(){}
    public EmployeesController(EmployeesModel model,EmployeesView view){
        this.model=model;
        this.view=view;
        view.menu(new btnMenuActionListener());
    }
    class btnMenuActionListener implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e){
            String action = e.getActionCommand();
            if(action.equals("signup")){
                view.signup(new btnSignupActionListener());
            }else if(action.equals("empList")){
                view.empList(new btnEmpListActionListener());
            }else if(action.equals("update")){
                view.update(new btnEditDeleteActionListener(),"Update");
            }else{
                view.update(new btnEditDeleteActionListener(),"Delete");
            }
        }
    }
    class btnSignupActionListener implements ActionListener{
        @Override
         public void actionPerformed(ActionEvent e){}
    }
  
    class btnEditDeleteActionListener implements ActionListener{
        @Override
         public void actionPerformed(ActionEvent e){}
    }
    class btnEmpListActionListener implements ActionListener{
        @Override
         public void actionPerformed(ActionEvent e){}
    }   
}
8.     Put your code to the test, nice jobJ

No comments:

Post a Comment