Uploaded by menachem1893

PAT Java App Code Documentation

advertisement
PAT
Menachem Altman
Part 3
1|Page
Table of Contents
APP .......................................................................................................................................................... 1
PatApp ................................................................................................................................................. 2
Classes..................................................................................................................................................... 4
ConnectDB .......................................................................................................................................... 5
DataValidation .................................................................................................................................... 5
EmailManager ..................................................................................................................................... 5
LoginManager ..................................................................................................................................... 5
Period .................................................................................................................................................. 5
PeriodManager ................................................................................................................................... 5
ScheduleManager ............................................................................................................................... 5
SubjectManager .................................................................................................................................. 5
Subjects ............................................................................................................................................... 5
Teacher................................................................................................................................................ 5
UpdatePerson ..................................................................................................................................... 5
login..................................................................................................................................................... 5
TeacherManager ................................................................................................................................. 5
NotificationManager ........................................................................................................................... 5
output ................................................................................................................................................. 5
StatisticsManager................................................................................................................................ 5
View ........................................................................................................................................................ 4
Mainscreen.......................................................................................................................................... 5
Schedule .............................................................................................................................................. 5
GuestScreen ........................................................................................................................................ 5
Login .................................................................................................................................................... 5
CustomerCare ..................................................................................................................................... 5
2|Page
PAT APP:
package app;
import view.Login;
public class PatApp {
3|Page
public static void main(String[] args) {
//opens Login screen
new Login().setVisible(true);
}
}
ConnectDB:
package classes;
import java.sql.*;
public class ConnectDB {
4|Page
private Connection conn; //connection type to connect to the database
private Statement stmt;//statement to store different queries
private ResultSet rs;//a set of results stored of the stmt
public ConnectDB() {
try {
String url = "jdbc:ucanaccess://patDB.accdb";//url at which the database is stored on the
computer aswell as the driver to connect to the database
conn = DriverManager.getConnection(url);//establishes the connection to the database
stmt = conn.createStatement();
} catch (Exception e) {
System.out.println("Problem Connecting to database " + e);
}
}
public ResultSet getResults(String query) {
try {
rs = stmt.executeQuery(query);//The query that has been sent in via the String query is
executed
} catch (Exception e) {
System.out.println("Error occured: " + e);
}
return rs;//returns the resultset to the user to be used
}
public void UpdateDatabase(String query) throws SQLException{
stmt.executeUpdate(query);
}
public Connection getConn() {
5|Page
return conn;
}
}
dataValidation:
package classes;
import javax.swing.JLabel;
6|Page
public class DataValidation {
private boolean valid;
public DataValidation(){
valid = true;
}
public boolean isValid() {
return valid;
//creates a boolean varible that doesnt change
}
public void checkName(String Firstname, JLabel lblError){
//checks if firstname onlyy= has letters
lblError.setText("");
String temp = Firstname.replaceAll("[^A-Za-z]", "");
//checks if firstname is empty
if(Firstname.length() == 0){
lblError.setText("firstname must be filled in");
valid = false;
}
else if (Firstname.length() > temp.length()){
lblError.setText("firstname must only be letters");
valid=false;
}
//if its only letters and is filled in, data is valid
7|Page
else{
valid = true;
}
}
public void checkSName(String sname, JLabel lblError){
lblError.setText("");
//checks if Suname is more than 2 characters
if(sname.length() <= 2){
lblError.setText("surname must more than 2 letters long");
valid = false;
}
//if surname > 2 chracters, it is valid
else{
valid = true;
}
}
public void checkEmail(String email, JLabel lblError){
lblError.setText("");
//checks if email is filled in
if(email.length() == 0){
lblError.setText("email must be filled in");
valid = false;
}
//checks that email contains an @ sign and ens with SA email adress or a goodgle one for
security purposes
else if(!email.contains("@") && !email.endsWith(".co.za") || !email.endsWith(".com")){
valid = false;
8|Page
}
//if no data is caught, data is valid
else{
valid = true;
}
}
public void checkSubject(String subject, JLabel lblError){
lblError.setText("");
String temp = subject.replaceAll("[^A-Za-z]", "");
//checks that subject is atleast 1 letter long
if(subject.length() == 0){
lblError.setText("subject must be filled in");
valid = false;
}
//checks that subject only contains letters
else if (subject.length() > temp.length()){
lblError.setText("subject must only contain letters");
valid=false;
}
else{
valid = true;
}
}
public void checkPeriodEdit(String period, JLabel lblError){
lblError.setText("");
//checks if new period is only numbers
String temp = period.replaceAll("[^0-9]", "");
9|Page
if(temp.length() != 4){
lblError.setText("please only use numbers");
}
//checks if period contains :
if(!period.contains(":")){
lblError.setText("please type new period in proper format");
valid = false;
}
//check that period is 5 characters long
else if(period.length() != 5){
lblError.setText("please type new period in proper format");
valid = false;
}
//if data is not caught, data is valid
else{
valid = true;
}
}
}
EmailManager:
package classes;
import com.sun.xml.internal.ws.developer.MemberSubmissionAddressing.Validation;
import java.io.IOException;
import java.sql.ResultSet;
10 | P a g e
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.swing.JOptionPane;
public class EmailManager {
//Void method that receives an email, message, subject and name to send an email to the
appliction developers
public void sendCustomerCareEmail(String email, String messageSend, String Subject, String name)
throws IOException, SQLException, AddressException, MessagingException {
final String username = "my.sched@outlook.com";
final String password = "M@nkey135";
Properties props = new Properties();//Creates new object of properties
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true"); //sets ttls as true
props.put("mail.smtp.host", "outlook.office365.com");//sets the smtp host to be outlook
props.put("mail.smtp.port", "587");//sets the port to port 587
//Declares new session
Session session = Session.getInstance(props,
11 | P a g e
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
//Creates the message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("my.sched@outlook.com")); //sets messages sent
from email
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email)); // sets
reciever email
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(username)); //set
recipients
message.setSubject(Subject); //sets subject
message.setText(messageSend +"\n\n" + name); //sets text of message
Transport.send(message);
JOptionPane.showMessageDialog(null, "Email Sent Successfully"); //confirmation message
System.out.println("MESSAGE SENT SUCCESSFULLY"); //2ns confirmation message
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
12 | P a g e
LoginManager:
package classes;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
13 | P a g e
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class LoginManager {
private ConnectDB db;
public LoginManager() {
db = new ConnectDB();
}
public login getCurrentUser(String username, String password){
//gets current user username and login from SQL
String sql = "SELECT * FROM login WHERE username = '"+username + "' AND password = '" +
password + "'";
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//makes login object = result from SQL (ACCESS)
return new login(rs.getInt("id"),rs.getString("username"), rs.getString("password"));
}
} catch (SQLException ex) {
Logger.getLogger(LoginManager.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
14 | P a g e
}
public void updateAdmin(login currentUser){
//sql statement to update LOGIN
String sql = "update Login set username = ?, password = ? where id = ?";
try {
PreparedStatement st = db.getConn().prepareStatement(sql);
//sets first ?
st.setString(1, currentUser.getUsername());
//sets second ?
st.setString(2, currentUser.getPassword());
//sets third ?
st.setInt(3, currentUser.getId());
st.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(LoginManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Period:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
15 | P a g e
* and open the template in the editor.
*/
package classes;
public class Period {
private int periodID; //declares private int
private String startTime; //declares private String
private String endTime;//declares private String
//Constructor for Period, Accepts int and String parametres
public Period(int periodID, String startTime, String endTime) {
this.periodID = periodID;
this.startTime = startTime;
this.endTime = endTime;
}
//Constructor for Period, accepts String parametres
public Period(String startTime, String endTime) {
this.startTime = startTime;
this.endTime = endTime;
}
public int getPeriodID() {
return periodID; //gets value of periodID
}
public void setPeriodID(int periodID) {
this.periodID = periodID; //sets value of periodID
}
16 | P a g e
public String getStartTime() {
return startTime;//gets value of startTime
}
public void setStartTime(String startTime) {
this.startTime = startTime;//sets value of startTime
}
public String getEndTime() {
return endTime;//gets value of endTime
}
public void setEndTime(String endTime) {
this.endTime = endTime;//sets value of endTime
}
}
PeriodManager:
package classes;
17 | P a g e
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
public class PeriodManager {
private ConnectDB db;
public PeriodManager() {
//Connects to the database
db = new ConnectDB();
}
public void filltblPeriods(DefaultTableModel model){
model.setRowCount(0);
//sql statement to get period table from access database
String sql = "select * from Periods order by periodID";
//Executes sequal statement and gets results from the table.
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("startTime"),
rs.getString("endTime")});
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
18 | P a g e
}
}
public Period getSelectedPeriod(int periodID){
//sql statement to select the fields regarding the periodID
String sql = "select* from Periods where periodID = " + periodID;
//Executes sequal statement and gets results from the table
ResultSet rs = db.getResults(sql);
try {
while (rs.next()){
//add new row for each new row in access
return new Period(rs.getInt("periodID"),rs.getString("Starttime"),rs.getString("endtime"));
}
} catch (SQLException ex) {
Logger.getLogger(PeriodManager.class.getName()).log(Level.SEVERE, null, ex);
}
return null; //will return null if teacherID isn't found
}
public void updatePeriod(Period selectedPeriod){
//sql statement to update the period
String sql = "update periods set starttime = ?, endtime = ? where periodID = ?";
try {
PreparedStatement st = db.getConn().prepareStatement(sql);
//set first ?
st.setString(1, selectedPeriod.getStartTime());
//sets second ?
st.setString(2, selectedPeriod.getEndTime());
19 | P a g e
//sets third ?
st.setInt(3, selectedPeriod.getPeriodID());
st.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(PeriodManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
ScheduleManager:
package classes;
20 | P a g e
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.table.DefaultTableModel;
public class ScheduleManager {
private ConnectDB db;
public ScheduleManager() {
db = new ConnectDB();
}
public void filltblMonday(DefaultTableModel model){
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql = "SELECT Schedule2.periodID, teachers.firstname, teachers.surname,
teachers.subject, periods.starttime, periods.endtime \n" +
"FROM periods INNER JOIN (Teachers INNER JOIN Schedule2 ON Teachers.TeacherID =
Schedule2.monday) ON periods.periodID = Schedule2.periodID\n" +
"WHERE teachers.teacherid = Schedule2.monday;";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
21 | P a g e
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("firstname"),
rs.getString("surname"),rs.getString("subject"),rs.getString("startTime"),rs.getString("endTime")});
}
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void filltblTuesday(DefaultTableModel model){
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql = "SELECT Schedule2.periodID, teachers.firstname, teachers.surname,
teachers.subject, periods.starttime, periods.endtime \n" +
"FROM periods INNER JOIN (Teachers INNER JOIN Schedule2 ON Teachers.TeacherID =
Schedule2.tuesday) ON periods.periodID = Schedule2.periodID\n" +
"WHERE teachers.teacherid = Schedule2.tuesday;";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("firstname"),
rs.getString("surname"),rs.getString("subject"),rs.getString("startTime"),rs.getString("endTime")});
}
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void filltblWednesday(DefaultTableModel model){
model.setRowCount(0);
22 | P a g e
//sql statemnt to get relevant information from relevant tables
String sql ="SELECT Schedule2.periodID, teachers.firstname, teachers.surname,
teachers.subject, periods.starttime, periods.endtime \n" +
"FROM periods INNER JOIN (Teachers INNER JOIN Schedule2 ON Teachers.TeacherID =
Schedule2.wednesday) ON periods.periodID = Schedule2.periodID\n" +
"WHERE teachers.teacherid = Schedule2.wednesday;";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("firstname"),
rs.getString("surname"),rs.getString("subject"),rs.getString("startTime"),rs.getString("endTime")});
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void filltblthursday(DefaultTableModel model){
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql ="SELECT Schedule2.periodID, teachers.firstname, teachers.surname,
teachers.subject, periods.starttime, periods.endtime \n" +
"FROM periods INNER JOIN (Teachers INNER JOIN Schedule2 ON Teachers.TeacherID =
Schedule2.thursday) ON periods.periodID = Schedule2.periodID\n" +
"WHERE teachers.teacherid = Schedule2.thursday;";
//runs sql statemnt and gets result
23 | P a g e
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("firstname"),
rs.getString("surname"),rs.getString("subject"),rs.getString("startTime"),rs.getString("endTime")});
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void filltblFriday(DefaultTableModel model){
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql ="SELECT Schedule2.periodID, teachers.firstname, teachers.surname,
teachers.subject, periods.starttime, periods.endtime \n" +
"FROM periods INNER JOIN (Teachers INNER JOIN Schedule2 ON Teachers.TeacherID =
Schedule2.friday) ON periods.periodID = Schedule2.periodID\n" +
"WHERE teachers.teacherid = Schedule2.friday;";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("periodID") , rs.getString("firstname"),
rs.getString("surname"),rs.getString("subject"),rs.getString("startTime"),rs.getString("endTime")});
}
} catch (SQLException ex) {
24 | P a g e
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void fillComboBoxWithName(JComboBox cmbMon, JComboBox cmbTue, JComboBox
cmbWed, JComboBox cmbThu, JComboBox cmbFri){
//remove all previous items from comboboxes
cmbMon.removeAllItems();
cmbTue.removeAllItems();
cmbWed.removeAllItems();
cmbThu.removeAllItems();
cmbFri.removeAllItems();
//sql statment to get them right data ino the comboBoxes
String sql = "select firstname, surname from teachers ";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//sets the comboBoxes with the infromation from the Access database
cmbMon.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbTue.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbWed.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbThu.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbFri.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
}
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
25 | P a g e
public void fillComboBoxWithNameG(JComboBox cmbMonG, JComboBox cmbTueG, JComboBox
cmbWedG, JComboBox cmbThuG, JComboBox cmbFriG){
//remove all previous items from comboboxes
cmbMonG.removeAllItems();
cmbTueG.removeAllItems();
cmbWedG.removeAllItems();
cmbThuG.removeAllItems();
cmbFriG.removeAllItems();
String sql = "select firstname, surname from teachers ";
//sql statment to get them right data ino the comboBoxes
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//sets the comboBoxes with the infromation from the Access database
cmbMonG.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbTueG.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbWedG.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbThuG.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
cmbFriG.addItem(rs.getString("firstname")+ " " + rs.getString("surname"));
}
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void updatePeriod(UpdatePerson selectedPeriod){
26 | P a g e
//sql update query
String sql = "update Schedule2 set monday = ? where periodID = ?";
PreparedStatement st;
try {
st = db.getConn().prepareStatement(sql);
//sets first ?
st.setInt(1, selectedPeriod.getTeacherID());
//sets second ?
st.setInt(2, selectedPeriod.getPeriodID());
st.executeUpdate(); //runs sql statemnt after set
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void updatePeriodTue(UpdatePerson selectedPeriodTue){
//sql update query
String sql = "update Schedule2 set tuesday = ? where periodID = ?";
PreparedStatement st;
try {
st = db.getConn().prepareStatement(sql);
//sets first ?
st.setInt(1, selectedPeriodTue.getTeacherID());
//sent second ?
st.setInt(2, selectedPeriodTue.getPeriodID());
st.executeUpdate();//runs sql statemnt after set
} catch (SQLException ex) {
27 | P a g e
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void updatePeriodWed(UpdatePerson selectedPeriodWed){
//sql update query
String sql = "update Schedule2 set wednesday = ? where periodID = ?";
PreparedStatement st;
try {
st = db.getConn().prepareStatement(sql);
//sets first ?
st.setInt(1, selectedPeriodWed.getTeacherID());
//sent second ?
st.setInt(2, selectedPeriodWed.getPeriodID());
st.executeUpdate();//runs sql statemnt after set
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void updatePeriodThu(UpdatePerson selectedPeriodThu){
//sql update query
String sql = "update Schedule2 set thursday = ? where periodID = ?";
PreparedStatement st;
try {
st = db.getConn().prepareStatement(sql);
//sets first ?
28 | P a g e
st.setInt(1, selectedPeriodThu.getTeacherID());
//sent second ?
st.setInt(2, selectedPeriodThu.getPeriodID());
st.executeUpdate();
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void updatePeriodFri(UpdatePerson selectedPeriodFri){
//sql update query
String sql = "update Schedule2 set friday = ? where periodID = ?";
PreparedStatement st;
try {
st = db.getConn().prepareStatement(sql);
//sets first ?
st.setInt(1, selectedPeriodFri.getTeacherID());
//sent second ?
st.setInt(2, selectedPeriodFri.getPeriodID());
st.executeUpdate();//runs sql statemnt after set
} catch (SQLException ex) {
Logger.getLogger(ScheduleManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
29 | P a g e
Subjects manager :
/*
30 | P a g e
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.table.DefaultTableModel;
/**
*
* @author menac
*/
public class SubjectManager {
private ConnectDB db;
public SubjectManager() {
db = new ConnectDB();
}
public void filltblSubjects(DefaultTableModel model) {
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql = "select * from subjects order by subjectID";
31 | P a g e
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while (rs.next()) {
//add new row for each new row in access
model.addRow(new Object[]{rs.getInt("subjectID"), rs.getString("subject")});
}
} catch (SQLException ex) {
Logger.getLogger(SubjectManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void addSubject(Subjects subject) {
//sql statemnt tto insent new information into table
String sql = "insert into Subjects(subject) values(?)";
try {
PreparedStatement st = db.getConn().prepareStatement(sql);
//sets ?
st.setString(1, subject.getSubject());
st.executeUpdate();//runs sql statemnt and gets result
} catch (SQLException ex) {
Logger.getLogger(SubjectManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void fillComboBoxWithSubject(JComboBox cmbSubjectG) {
cmbSubjectG.removeAllItems(); //removes all items from combobox
//sql statemnt to get relevant information from relevant tables
32 | P a g e
String sql = "select subject from subjects ";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while (rs.next()) {
//add new row for each new row in access
cmbSubjectG.addItem(rs.getString("subject"));
}
} catch (SQLException ex) {
Logger.getLogger(SubjectManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Subjects getSelectedSubject(int subjectID) {
//sql statemnt to get relevant information from relevant tables
String sql = "select* from subjects where subjectID = " + subjectID;
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while (rs.next()) {
//add new row for each new row in access
return new Subjects(rs.getInt("subjectID"), rs.getString("subject"));
}
} catch (SQLException ex) {
Logger.getLogger(SubjectManager.class.getName()).log(Level.SEVERE, null, ex);
}
return null; //will return null if teacherID isn't found
33 | P a g e
}
public void deleteSubject(int id) {
//sql delete statement
String sql = "delete from subjects where subjectID = ' " + id + " ' ";
try {
db.UpdateDatabase(sql); //runs statement
} catch (SQLException ex) {
Logger.getLogger(SubjectManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Subjects:
34 | P a g e
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
public class Subjects {
private int subjectID; //declares private int
private String subject; //declates private string
//Constructor for Subjects Accepts int and String parametres
public Subjects(int subjectID, String subject) {
this.subjectID = subjectID;
this.subject = subject;
}
//Constructor for Subjects Accepts String parameter
public Subjects(String subject) {
this.subject = subject;
}
public int getSubjectID() {
return subjectID; //gets subjectID value
}
public void setSubjectID(int subjectID) {
this.subjectID = subjectID; //sets subjectID
}
public String getSubject() {
return subject; //gets Subject value
35 | P a g e
}
public void setSubject(String subject) {
this.subject = subject; //sets subject Value
}
}
Teacher:
36 | P a g e
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
public class Teacher {
private int teacherID; //decalres priavte int
private String firstname; //declares private String
private String surname;//declares private String
private String subject;//declares private String
private String email;//declares private String
//Constructor for Teacher, Accepts int and String parametres
public Teacher(int teacherID, String firstname, String surname, String subject, String email) {
this.teacherID = teacherID;
this.firstname = firstname;
this.surname = surname;
this.subject = subject;
this.email = email;
}
//Constructor for Teacher, Accepts String parametres
public Teacher(String firstname, String surname, String subject, String email) {
this.firstname = firstname;
this.surname = surname;
this.subject = subject;
37 | P a g e
this.email = email;
}
public int getTeacherID() {
return teacherID; //gets value for teacherID
}
public void setTeacherID(int teacherID) {
this.teacherID = teacherID; //sets value for teacherID
}
public String getFirstname() {
return firstname;//gets value for firsname
}
public void setFirstname(String firstname) {
this.firstname = firstname;//sets value for firstname
}
public String getSurname() {
return surname;//gets value for surname
}
public void setSurname(String surname) {
this.surname = surname;//sets value for surname
}
public String getSubject() {
return subject;//gets value for subject
}
38 | P a g e
public void setSubject(String subject) {
this.subject = subject;//sets value for subject
}
public String getEmail() {
return email;//gets value for email
}
public void setEmail(String email) {
this.email = email;//sets value for email
}
}
39 | P a g e
UpdatePerson:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
public class UpdatePerson {
private int periodID; //declares private int
private int teacherID; //declares private int
//constructor for Updateperson, accepts int parameters
public UpdatePerson(int periodID, int teacherID) {
this.periodID = periodID;
this.teacherID = teacherID;
}
//constructor for Updateperson, accepts int parameter
public UpdatePerson(int teacherID) {
this.teacherID = teacherID;
}
public int getPeriodID() {
return periodID; //gets periodID value
}
40 | P a g e
public void setPeriodID(int periodID) {
this.periodID = periodID; //sets periodID Value
}
public int getTeacherID() {
return teacherID; // gets value for teacherID
}
public void setTeacherID(int teacherID) {
this.teacherID = teacherID; //sets value for PeriodID
}
}
41 | P a g e
Login:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package classes;
public class login {
private int id; //declares private int
private String username; //declares private String
private String password; //declates priavte String
//Constructor for login, Accepts int and String parametres
public login(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id; //gets value for ID
}
public void setId(int id) {
this.id = id; //sets value for ID
}
42 | P a g e
public String getUsername() {
return username; //gets value for username
}
public void setUsername(String username) {
this.username = username; //sets vaule for username
}
public String getPassword() {
return password; //gets value for password
}
public void setPassword(String password) {
this.password = password; //sets value for password
}
}
43 | P a g e
TeacherManager:
package classes;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.table.DefaultTableModel;
public class teacherManager {
private ConnectDB db;
public teacherManager() {
db = new ConnectDB(); //connects to database
}
public void filltblTeacher(DefaultTableModel model){
model.setRowCount(0);
//sql statemnt to get relevant information from relevant tables
String sql = "select * from Teachers order by teacherID";
//runs sql statemnt and gets result
44 | P a g e
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
model.addRow(new Object[] {rs.getInt("teacherID") , rs.getString("firstname"),
rs.getString("surname"), rs.getString("subject"), rs.getString("email")});
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void addTeacher(Teacher teacher){
//sql statemnt to get relevant information from relevant tables
String sql = "insert into Teachers(firstname,surname,subject,email) values(?,?,?,?)";
try {
PreparedStatement st = db.getConn().prepareStatement(sql);
// sets first ?
st.setString(1, teacher.getFirstname());
//sets second ?
st.setString(2, teacher.getSurname());
//sets third ?
st.setString(3, teacher.getSubject());
//sets forth ?
st.setString(4, teacher.getEmail());
st.executeUpdate();//runs sql statemnt
} catch (SQLException ex) {
45 | P a g e
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void deleteTeacher(int id){
//sql delete query
String sql = "delete from Teachers where teacherID = ' " + id + " ' ";
try {
db.UpdateDatabase(sql); //runs query
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Teacher getSelectedTeacher(int teacherID){
//
sql statemnt to get relevant information from relevant tables
String sql = "select* from Teachers where TeacherID = " + teacherID;
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while (rs.next()){
//
returns value for resultset
return new
Teacher(rs.getInt("teacherID"),rs.getString("firstname"),rs.getString("surname"),rs.getString("subject
"),rs.getString("email"));
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
46 | P a g e
}
return null; //will return null if teacherID isn't found
}
public void updateTeacher(Teacher selectedTeacher){
//update sql statement
String sql = "update Teachers set firstname = ?, surname = ?,subject = ?,email = ? where
TeacherID = ?";
try {
PreparedStatement st = db.getConn().prepareStatement(sql);
//sets first ?
st.setString(1, selectedTeacher.getFirstname());
//sets second ?
st.setString(2, selectedTeacher.getSurname());
//sets third ?
st.setString(3, selectedTeacher.getSubject());
//sets fourth ?
st.setString(4, selectedTeacher.getEmail());
//sets fifth ?
st.setInt(5, selectedTeacher.getTeacherID());
st.executeUpdate(); //runs sql statement
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
public int getTeacherIDByName(String name){
//creates data from parameter
String Fname = name.substring(0, name.indexOf(" "));
47 | P a g e
String Sname = name.substring(name.indexOf(" ") +1);
//sql statemnt to get relevant information from relevant tables
String sql = "select teacherID from teachers where firstname = '" + Fname + "' and surname = '"
+ Sname + "'";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//return relavant information
return rs.getInt("teacherID");
}
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
return -1;
}
public void fillComboBoxWithSubject(JComboBox cmbTeachersSubject){
cmbTeachersSubject.removeAllItems(); //clears comboBox
//sql statemnt to get relevant information from relevant tables
String sql = "select subject from subjects";
//runs sql statemnt and gets result
ResultSet rs = db.getResults(sql);
try {
while(rs.next()){
//add new row for each new row in access
cmbTeachersSubject.addItem(rs.getString("subject"));
}
48 | P a g e
} catch (SQLException ex) {
Logger.getLogger(teacherManager.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
49 | P a g e
(leave space for classes missed)
50 | P a g e
Main screen:
package view;
import classes.PeriodManager;
import classes.Teacher;
import classes.Period;
import classes.SubjectManager;
import classes.Subjects;
import classes.LoginManager;
import classes.NotificationManager;
import classes.DataValidation;
import classes.teacherManager;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.RowFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
public class mainscreen extends javax.swing.JFrame {
private Teacher selectedTeacher; //creates a sleected teacher varaibe to be used in
teachermanager
private Period selectedPeriod; //creates a selected period variable to be used period manager
private Subjects selectedSubject; ////creates a selected subject variable to be used period
manager
public mainscreen() {
51 | P a g e
initComponents();
//fills tblTeachers
teacherManager tm = new teacherManager();
tm.filltblTeacher((DefaultTableModel) tblTeachers.getModel());
//fills comboBox with all subejct names
tm.fillComboBoxWithSubject(cmbTeachersSubject);
//fill tblPeriods
PeriodManager pm = new PeriodManager();
pm.filltblPeriods((DefaultTableModel) tblPeriods.getModel());
//filltblSubjects
SubjectManager sm = new SubjectManager();
sm.filltblSubjects((DefaultTableModel) tblSubjects.getModel());
sm.fillComboBoxWithSubject(cmbStats);
//fill username and passsword in change password boxes
//gets username and subejct from login class and puts them in appropriate txt fields
txtnewUsername.setText(Login.currentUser.getUsername());
txtNewpassword.setText(Login.currentUser.getPassword());
}
//refresh TblSchedule
//able to search through a table
public void searchTable(String text, JTable table) {
TableRowSorter<DefaultTableModel> tr = new
TableRowSorter<DefaultTableModel>((DefaultTableModel) table.getModel());
table.setRowSorter(tr);//connect table to row sorter
tr.setRowFilter(RowFilter.regexFilter(text));
}
52 | P a g e
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jpanCandidates = new javax.swing.JPanel();
pnlMain = new javax.swing.JTabbedPane();
pnlSchedule = new javax.swing.JPanel();
lblSchedPage = new javax.swing.JLabel();
btnSchedule = new javax.swing.JButton();
btnBackToLogin2 = new javax.swing.JButton();
pnlTeachers = new javax.swing.JPanel();
teacherScreenlbl = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
tblTeachers = new javax.swing.JTable();
jLabel3 = new javax.swing.JLabel();
lblFirstname = new javax.swing.JLabel();
lblSurname = new javax.swing.JLabel();
txtFirstname = new javax.swing.JTextField();
txtSurname = new javax.swing.JTextField();
btnAddTeacher = new javax.swing.JButton();
btnDeleteTeacher = new javax.swing.JButton();
btnEditTeacher = new javax.swing.JButton();
btnClear = new javax.swing.JButton();
searchTeacherlbl = new javax.swing.JLabel();
txtSearch = new javax.swing.JTextField();
53 | P a g e
lblSubject = new javax.swing.JLabel();
lblEmail = new javax.swing.JLabel();
txtEmail = new javax.swing.JTextField();
lblSurnameErr = new javax.swing.JLabel();
lblFirstnameErr = new javax.swing.JLabel();
lblEmailErr = new javax.swing.JLabel();
lblSubjectErr = new javax.swing.JLabel();
btnBackToLogin4 = new javax.swing.JButton();
cmbTeachersSubject = new javax.swing.JComboBox<>();
pnlPeriodsAndSubject = new javax.swing.JPanel();
lblperiodTimes = new javax.swing.JLabel();
lblExLAdress = new javax.swing.JLabel();
lblendTime = new javax.swing.JLabel();
txtstartTime = new javax.swing.JTextField();
txtendTime = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
tblPeriods = new javax.swing.JTable();
btnEditPeriod = new javax.swing.JButton();
btnBackToLogin1 = new javax.swing.JButton();
jScrollPane4 = new javax.swing.JScrollPane();
tblSubjects = new javax.swing.JTable();
lblSubjects = new javax.swing.JLabel();
txtSubjectNew = new javax.swing.JTextField();
btnDeleteSubject = new javax.swing.JButton();
btnAddSubject = new javax.swing.JButton();
lblSubjectHeader = new javax.swing.JLabel();
lblStartTimeError = new javax.swing.JLabel();
lblEndTimeError = new javax.swing.JLabel();
lblSubjectERRor = new javax.swing.JLabel();
pnlStats = new javax.swing.JPanel();
btnBackToLogin3 = new javax.swing.JButton();
54 | P a g e
cmbStats = new javax.swing.JComboBox<>();
txtStats = new javax.swing.JTextField();
lblSelectLessonStats = new javax.swing.JLabel();
lblAmountstats = new javax.swing.JLabel();
btnGetLessons = new javax.swing.JButton();
pnlSettings = new javax.swing.JPanel();
lblChangeAdmin = new javax.swing.JLabel();
lblusernamechange = new javax.swing.JLabel();
lblnewpassword = new javax.swing.JLabel();
txtnewUsername = new javax.swing.JTextField();
txtNewpassword = new javax.swing.JTextField();
btnConfirmNewAdmin = new javax.swing.JButton();
pnlHelp = new javax.swing.JPanel();
btnTeacherHelp = new javax.swing.JButton();
btnSAndP = new javax.swing.JButton();
btnAdmin = new javax.swing.JButton();
jScrollPane3 = new javax.swing.JScrollPane();
txtAHelpMain = new javax.swing.JTextArea();
btnHelpOK = new javax.swing.JButton();
btnCustomerCare = new javax.swing.JButton();
javax.swing.GroupLayout jpanCandidatesLayout = new
javax.swing.GroupLayout(jpanCandidates);
jpanCandidates.setLayout(jpanCandidatesLayout);
jpanCandidatesLayout.setHorizontalGroup(
jpanCandidatesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 899, Short.MAX_VALUE)
);
jpanCandidatesLayout.setVerticalGroup(
jpanCandidatesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 510, Short.MAX_VALUE)
55 | P a g e
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
lblSchedPage.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
lblSchedPage.setText("MY WEEKLY SCHEDULE");
btnSchedule.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnSchedule.setText("Go to weekly schedule");
btnSchedule.setToolTipText("This button take you to a weekly schedule");
btnSchedule.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) {
btnScheduleMouseDragged(evt);
}
});
btnSchedule.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnScheduleActionPerformed(evt);
}
});
btnBackToLogin2.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnBackToLogin2.setText("Logout");
btnBackToLogin2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToLogin2ActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlScheduleLayout = new javax.swing.GroupLayout(pnlSchedule);
pnlSchedule.setLayout(pnlScheduleLayout);
56 | P a g e
pnlScheduleLayout.setHorizontalGroup(
pnlScheduleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlScheduleLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(btnBackToLogin2)
.addGap(22, 22, 22))
.addGroup(pnlScheduleLayout.createSequentialGroup()
.addGap(407, 407, 407)
.addGroup(pnlScheduleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblSchedPage, javax.swing.GroupLayout.PREFERRED_SIZE, 406,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnSchedule, javax.swing.GroupLayout.PREFERRED_SIZE, 322,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(497, Short.MAX_VALUE))
);
pnlScheduleLayout.setVerticalGroup(
pnlScheduleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlScheduleLayout.createSequentialGroup()
.addGap(22, 22, 22)
.addComponent(lblSchedPage, javax.swing.GroupLayout.PREFERRED_SIZE, 70,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 151,
Short.MAX_VALUE)
.addComponent(btnSchedule, javax.swing.GroupLayout.PREFERRED_SIZE, 114,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(108, 108, 108)
.addComponent(btnBackToLogin2)
.addGap(20, 20, 20))
);
pnlMain.addTab("Schedule", pnlSchedule);
57 | P a g e
teacherScreenlbl.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
teacherScreenlbl.setText("TEACHERS");
tblTeachers.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"TeacherID", "Firstname", "Surname", "subject", "email"
}
));
tblTeachers.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblTeachersMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tblTeachers);
lblFirstname.setText("Firstname");
lblSurname.setText("Surname");
txtFirstname.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtFirstnameActionPerformed(evt);
}
});
txtSurname.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
58 | P a g e
txtSurnameActionPerformed(evt);
}
});
btnAddTeacher.setText("Add teacher");
btnAddTeacher.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddTeacherActionPerformed(evt);
}
});
btnDeleteTeacher.setText("delete teacher");
btnDeleteTeacher.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDeleteTeacherActionPerformed(evt);
}
});
btnEditTeacher.setText("edit teacher");
btnEditTeacher.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditTeacherActionPerformed(evt);
}
});
btnClear.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
btnClear.setText("Clear");
btnClear.setToolTipText("Clear all Information above");
btnClear.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnClearActionPerformed(evt);
59 | P a g e
}
});
searchTeacherlbl.setText("search for teacher");
txtSearch.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtSearchActionPerformed(evt);
}
});
txtSearch.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
txtSearchKeyReleased(evt);
}
});
lblSubject.setText("subject");
lblEmail.setText("email");
txtEmail.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtEmailActionPerformed(evt);
}
});
lblSurnameErr.setForeground(new java.awt.Color(255, 0, 0));
lblFirstnameErr.setForeground(new java.awt.Color(255, 0, 0));
lblEmailErr.setForeground(new java.awt.Color(255, 0, 0));
60 | P a g e
lblSubjectErr.setForeground(new java.awt.Color(255, 0, 0));
btnBackToLogin4.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnBackToLogin4.setText("Logout");
btnBackToLogin4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToLogin4ActionPerformed(evt);
}
});
cmbTeachersSubject.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { " " }));
cmbTeachersSubject.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbTeachersSubjectActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlTeachersLayout = new javax.swing.GroupLayout(pnlTeachers);
pnlTeachers.setLayout(pnlTeachersLayout);
pnlTeachersLayout.setHorizontalGroup(
pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(97, 97, 97)
.addComponent(searchTeacherlbl)
.addGap(30, 30, 30)
.addComponent(txtSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 165,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlTeachersLayout.createSequentialGroup()
61 | P a g e
.addGap(17, 17, 17)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 512,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(btnBackToLogin4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel3))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnClear, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(12, 12, 12)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblSurname)
.addComponent(lblEmail)
.addComponent(lblFirstname)
.addComponent(lblSubject))))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addGroup(pnlTeachersLayout.createSequentialGroup()
62 | P a g e
.addGap(106, 106, 106)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(txtFirstname, javax.swing.GroupLayout.DEFAULT_SIZE, 150,
Short.MAX_VALUE)
.addComponent(txtEmail, javax.swing.GroupLayout.DEFAULT_SIZE, 144,
Short.MAX_VALUE)
.addComponent(txtSurname, javax.swing.GroupLayout.DEFAULT_SIZE, 150,
Short.MAX_VALUE)
.addComponent(cmbTeachersSubject, 0,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addComponent(btnAddTeacher, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnEditTeacher, javax.swing.GroupLayout.PREFERRED_SIZE, 112,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(37, 37, 37)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(229, 229, 229)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblSurnameErr, javax.swing.GroupLayout.PREFERRED_SIZE,
211, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblFirstnameErr,
javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblSubjectErr, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(30, 30, 30))
63 | P a g e
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addComponent(lblEmailErr, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addComponent(btnDeleteTeacher, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())))))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(531, 531, 531)
.addComponent(teacherScreenlbl)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pnlTeachersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new
java.awt.Component[] {btnAddTeacher, btnDeleteTeacher});
pnlTeachersLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new
java.awt.Component[] {txtEmail, txtFirstname, txtSurname});
pnlTeachersLayout.setVerticalGroup(
pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGap(87, 87, 87)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtSearch, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(searchTeacherlbl))
.addGap(29, 29, 29)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 334,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
64 | P a g e
.addComponent(jLabel3)
.addContainerGap(47, Short.MAX_VALUE))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addContainerGap()
.addComponent(teacherScreenlbl, javax.swing.GroupLayout.PREFERRED_SIZE, 51,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(61, 61, 61)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblFirstnameErr, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblFirstname, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtFirstname, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblSurnameErr, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblSurname)
.addComponent(txtSurname, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(lblSubjectErr, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cmbTeachersSubject, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
65 | P a g e
.addComponent(lblSubject)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblEmail)
.addComponent(txtEmail, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(60, 60, 60)
.addGroup(pnlTeachersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnAddTeacher)
.addComponent(btnEditTeacher)
.addComponent(btnDeleteTeacher, javax.swing.GroupLayout.PREFERRED_SIZE, 0,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 42,
Short.MAX_VALUE)
.addComponent(btnClear, javax.swing.GroupLayout.PREFERRED_SIZE, 54,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(35, 35, 35)
.addComponent(btnBackToLogin4)
.addGap(20, 20, 20))
.addGroup(pnlTeachersLayout.createSequentialGroup()
.addComponent(lblEmailErr, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
pnlTeachersLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{btnAddTeacher, btnDeleteTeacher});
66 | P a g e
pnlTeachersLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{txtEmail, txtFirstname, txtSurname});
pnlMain.addTab("teachers", pnlTeachers);
lblperiodTimes.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
lblperiodTimes.setText("Period times");
lblExLAdress.setText("startTime");
lblendTime.setText("endTime");
tblPeriods.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"periodID", "startTime", "endTime"
}
));
tblPeriods.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblPeriodsMouseClicked(evt);
}
});
jScrollPane2.setViewportView(tblPeriods);
btnEditPeriod.setText("Edit period");
67 | P a g e
btnEditPeriod.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditPeriodActionPerformed(evt);
}
});
btnBackToLogin1.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnBackToLogin1.setText("Logout");
btnBackToLogin1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToLogin1ActionPerformed(evt);
}
});
tblSubjects.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null},
{null, null},
{null, null},
{null, null}
},
new String [] {
"subjectID", "subject"
}
));
tblSubjects.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblSubjectsMouseClicked(evt);
}
});
tblSubjects.addKeyListener(new java.awt.event.KeyAdapter() {
68 | P a g e
public void keyPressed(java.awt.event.KeyEvent evt) {
tblSubjectsKeyPressed(evt);
}
});
jScrollPane4.setViewportView(tblSubjects);
lblSubjects.setText("Subject");
btnDeleteSubject.setText("Delete subject");
btnDeleteSubject.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnDeleteSubjectActionPerformed(evt);
}
});
btnAddSubject.setText("Add new subject");
btnAddSubject.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddSubjectActionPerformed(evt);
}
});
lblSubjectHeader.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
lblSubjectHeader.setText("Subjects");
lblStartTimeError.setForeground(new java.awt.Color(255, 0, 0));
lblEndTimeError.setForeground(new java.awt.Color(255, 0, 0));
javax.swing.GroupLayout pnlPeriodsAndSubjectLayout = new
javax.swing.GroupLayout(pnlPeriodsAndSubject);
69 | P a g e
pnlPeriodsAndSubject.setLayout(pnlPeriodsAndSubjectLayout);
pnlPeriodsAndSubjectLayout.setHorizontalGroup(
pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(0, 1175, Short.MAX_VALUE)
.addComponent(btnBackToLogin1)
.addGap(20, 20, 20))
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 363,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(lblExLAdress, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblendTime))
.addGap(27, 27, 27)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(txtendTime, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtstartTime, javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE))
70 | P a g e
.addGap(38, 38, 38))
.addComponent(btnEditPeriod, javax.swing.GroupLayout.PREFERRED_SIZE, 198,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblStartTimeError, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblEndTimeError, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGap(18, 18, 18)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 332,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(btnDeleteSubject, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnAddSubject, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(txtSubjectNew, javax.swing.GroupLayout.PREFERRED_SIZE, 165,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblSubjects, javax.swing.GroupLayout.PREFERRED_SIZE, 109,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
71 | P a g e
.addComponent(lblSubjectERRor, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(293, 293, 293)
.addComponent(lblperiodTimes, javax.swing.GroupLayout.PREFERRED_SIZE, 137,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblSubjectHeader, javax.swing.GroupLayout.PREFERRED_SIZE, 134,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(225, 225, 225))
);
pnlPeriodsAndSubjectLayout.setVerticalGroup(
pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addContainerGap()
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.B
ASELINE)
.addComponent(lblSubjectHeader, javax.swing.GroupLayout.PREFERRED_SIZE, 36,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblperiodTimes, javax.swing.GroupLayout.PREFERRED_SIZE, 49,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(6, 6, 6)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(68, 68, 68)
72 | P a g e
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.B
ASELINE)
.addComponent(lblExLAdress)
.addComponent(txtstartTime, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblStartTimeError, javax.swing.GroupLayout.PREFERRED_SIZE, 30,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlPeriodsAndSubjectLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING)
.addComponent(lblendTime)
.addComponent(txtendTime, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblEndTimeError, javax.swing.GroupLayout.PREFERRED_SIZE, 29,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnEditPeriod, javax.swing.GroupLayout.PREFERRED_SIZE, 45,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 389,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 384,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnBackToLogin1)
.addGap(21, 21, 21))
.addGroup(pnlPeriodsAndSubjectLayout.createSequentialGroup()
.addGap(68, 68, 68)
.addComponent(lblSubjects)
.addGap(18, 18, 18)
.addComponent(txtSubjectNew, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
73 | P a g e
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblSubjectERRor, javax.swing.GroupLayout.PREFERRED_SIZE, 26,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnDeleteSubject, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(btnAddSubject, javax.swing.GroupLayout.PREFERRED_SIZE, 38,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
pnlPeriodsAndSubjectLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new
java.awt.Component[] {btnAddSubject, btnDeleteSubject});
pnlMain.addTab("periods and subjects", pnlPeriodsAndSubject);
btnBackToLogin3.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnBackToLogin3.setText("Logout");
btnBackToLogin3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToLogin3ActionPerformed(evt);
}
});
cmbStats.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbStatsActionPerformed(evt);
}
});
lblSelectLessonStats.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
74 | P a g e
lblSelectLessonStats.setText("Select Lesson");
lblAmountstats.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
lblAmountstats.setText("Amount of lessons in a week");
btnGetLessons.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
btnGetLessons.setForeground(new java.awt.Color(0, 0, 255));
btnGetLessons.setText("Get lessons in the week");
btnGetLessons.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnGetLessonsActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlStatsLayout = new javax.swing.GroupLayout(pnlStats);
pnlStats.setLayout(pnlStatsLayout);
pnlStatsLayout.setHorizontalGroup(
pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlStatsLayout.createSequentialGroup()
.addContainerGap(1174, Short.MAX_VALUE)
.addComponent(btnBackToLogin3)
.addGap(21, 21, 21))
.addGroup(pnlStatsLayout.createSequentialGroup()
.addGroup(pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlStatsLayout.createSequentialGroup()
.addGap(326, 326, 326)
.addGroup(pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(cmbStats, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
75 | P a g e
.addComponent(lblSelectLessonStats, javax.swing.GroupLayout.DEFAULT_SIZE, 192,
Short.MAX_VALUE))
.addGap(53, 53, 53)
.addGroup(pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtStats)
.addComponent(lblAmountstats, javax.swing.GroupLayout.DEFAULT_SIZE, 326,
Short.MAX_VALUE)))
.addGroup(pnlStatsLayout.createSequentialGroup()
.addGap(407, 407, 407)
.addComponent(btnGetLessons, javax.swing.GroupLayout.PREFERRED_SIZE, 307,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pnlStatsLayout.setVerticalGroup(
pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlStatsLayout.createSequentialGroup()
.addGap(114, 114, 114)
.addGroup(pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblSelectLessonStats, javax.swing.GroupLayout.PREFERRED_SIZE, 48,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblAmountstats, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(pnlStatsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtStats, javax.swing.GroupLayout.DEFAULT_SIZE, 30,
Short.MAX_VALUE)
.addComponent(cmbStats))
.addGap(38, 38, 38)
.addComponent(btnGetLessons, javax.swing.GroupLayout.PREFERRED_SIZE, 76,
javax.swing.GroupLayout.PREFERRED_SIZE)
76 | P a g e
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 140,
Short.MAX_VALUE)
.addComponent(btnBackToLogin3)
.addGap(21, 21, 21))
);
pnlMain.addTab("Statistics", pnlStats);
lblChangeAdmin.setText("Change username and password");
lblusernamechange.setText("New username");
lblnewpassword.setText("New password");
btnConfirmNewAdmin.setText("Confirm");
btnConfirmNewAdmin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnConfirmNewAdminActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlSettingsLayout = new javax.swing.GroupLayout(pnlSettings);
pnlSettings.setLayout(pnlSettingsLayout);
pnlSettingsLayout.setHorizontalGroup(
pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingsLayout.createSequentialGroup()
.addContainerGap(980, Short.MAX_VALUE)
.addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlSettingsLayout.createSequentialGroup()
77 | P a g e
.addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblusernamechange)
.addComponent(lblnewpassword, javax.swing.GroupLayout.PREFERRED_SIZE, 103,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(54, 54, 54)
.addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtnewUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 158,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtNewpassword, javax.swing.GroupLayout.PREFERRED_SIZE, 158,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(15, 15, 15))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlSettingsLayout.createSequentialGroup()
.addComponent(lblChangeAdmin)
.addGap(70, 70, 70))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlSettingsLayout.createSequentialGroup()
.addComponent(btnConfirmNewAdmin)
.addContainerGap())))
);
pnlSettingsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new
java.awt.Component[] {txtNewpassword, txtnewUsername});
pnlSettingsLayout.setVerticalGroup(
pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlSettingsLayout.createSequentialGroup()
.addGap(24, 24, 24)
.addComponent(lblChangeAdmin, javax.swing.GroupLayout.PREFERRED_SIZE, 28,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(42, 42, 42)
78 | P a g e
.addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblusernamechange)
.addComponent(txtnewUsername, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblnewpassword)
.addComponent(txtNewpassword, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(34, 34, 34)
.addComponent(btnConfirmNewAdmin)
.addContainerGap(311, Short.MAX_VALUE))
);
pnlSettingsLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{txtNewpassword, txtnewUsername});
pnlMain.addTab("Settings", pnlSettings);
btnTeacherHelp.setText("Teacher Help");
btnTeacherHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTeacherHelpActionPerformed(evt);
}
});
btnSAndP.setText("Period and subject help");
btnSAndP.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSAndPActionPerformed(evt);
}
79 | P a g e
});
btnAdmin.setText("Admin Help");
btnAdmin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAdminActionPerformed(evt);
}
});
txtAHelpMain.setColumns(20);
txtAHelpMain.setRows(5);
jScrollPane3.setViewportView(txtAHelpMain);
btnHelpOK.setText("Okay");
btnHelpOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnHelpOKActionPerformed(evt);
}
});
btnCustomerCare.setBackground(new java.awt.Color(153, 153, 153));
btnCustomerCare.setForeground(new java.awt.Color(51, 51, 51));
btnCustomerCare.setText("Customer Care");
btnCustomerCare.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCustomerCareActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlHelpLayout = new javax.swing.GroupLayout(pnlHelp);
pnlHelp.setLayout(pnlHelpLayout);
80 | P a g e
pnlHelpLayout.setHorizontalGroup(
pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlHelpLayout.createSequentialGroup()
.addGap(74, 74, 74)
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPane3)
.addGroup(pnlHelpLayout.createSequentialGroup()
.addComponent(btnTeacherHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 202,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(264, 264, 264)
.addComponent(btnSAndP, javax.swing.GroupLayout.PREFERRED_SIZE, 202,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 276,
Short.MAX_VALUE)
.addComponent(btnAdmin, javax.swing.GroupLayout.PREFERRED_SIZE, 202,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(90, 90, 90))
.addGroup(pnlHelpLayout.createSequentialGroup()
.addGap(561, 561, 561)
.addComponent(btnHelpOK, javax.swing.GroupLayout.PREFERRED_SIZE, 135,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlHelpLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnCustomerCare, javax.swing.GroupLayout.PREFERRED_SIZE, 215,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(25, 25, 25))
);
pnlHelpLayout.setVerticalGroup(
pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
81 | P a g e
.addComponent(btnCustomerCare, javax.swing.GroupLayout.PREFERRED_SIZE, 37,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnTeacherHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 77,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAdmin, javax.swing.GroupLayout.PREFERRED_SIZE, 77,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnSAndP, javax.swing.GroupLayout.PREFERRED_SIZE, 77,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(35, 35, 35)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 301,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10,
Short.MAX_VALUE)
.addComponent(btnHelpOK, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pnlMain.addTab("Help", pnlHelp);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pnlMain)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
82 | P a g e
.addComponent(pnlMain, javax.swing.GroupLayout.PREFERRED_SIZE, 554,
javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
private void txtSearchActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {
//clears all fields in teachers panel
txtFirstname.setText("");
txtSurname.setText("");
cmbTeachersSubject.setSelectedItem(null);
txtEmail.setText("");
}
private void btnEditTeacherActionPerformed(java.awt.event.ActionEvent evt) {
//getting new changed data
String firstname = txtFirstname.getText();
String surname = txtSurname.getText();
String subject = cmbTeachersSubject.getSelectedItem().toString();
String email = txtEmail.getText();
//putting new data in
selectedTeacher.setFirstname(firstname);
selectedTeacher.setSurname(surname);
selectedTeacher.setSubject(subject);
selectedTeacher.setEmail(email);
83 | P a g e
//updates selected teacher and outputs confirmation message
teacherManager tm = new teacherManager();
tm.updateTeacher(selectedTeacher);
JOptionPane.showMessageDialog(null, "person has been updated", "MY_SCHED", 1);
tm.filltblTeacher((DefaultTableModel) tblTeachers.getModel());
}
private void btnDeleteTeacherActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblTeachers.getSelectedRow(); //gets row selected
String teacherFname = tblTeachers.getValueAt(row, 1).toString();
if (row == -1) { //finds if table is not selected (-1) is a variable given by java
JOptionPane.showMessageDialog(null, "please select a person", "MY_SCHED", 1);
//checking to make sure the free option is not deleted
} else if (teacherFname.contains("free")) {
JOptionPane.showMessageDialog(null, "This person cannot be deleted", "MY_SCHED", 0);
} else {
int id = (int) tblTeachers.getValueAt(row, 0); //gets id for teacher at selected row
teacherManager tm = new teacherManager();
tm.deleteTeacher(id); //uses deleteTeacher method in teacherManager
//refreshes table
tm.filltblTeacher((DefaultTableModel) tblTeachers.getModel());
JOptionPane.showMessageDialog(null, "person has been deleted successfully", "MY_SCHED",
1);
}
}
private void btnAddTeacherActionPerformed(java.awt.event.ActionEvent evt) {
//gets new information/ data
String Firstname = txtFirstname.getText();
String Surname = txtSurname.getText();
84 | P a g e
String Subject = cmbTeachersSubject.getSelectedItem().toString();
String Email = txtEmail.getText();
// checks valitity of data with DataValidation methods
DataValidation dv = new DataValidation();
dv.checkName(Firstname, lblFirstnameErr);
dv.checkSName(Surname, lblSurnameErr);
dv.checkSubject(Subject, lblSubjectErr);
dv.checkEmail(Email, lblEmailErr);
Teacher teacher = new Teacher(Firstname, Surname, Subject, Email);
teacherManager tm = new teacherManager();
//if data has no errors - accept and show confirmation messgae
if (dv.isValid()) {
tm.addTeacher(teacher);
JOptionPane.showMessageDialog(null, "Teacher Added succesfully", "MY_SCHED", 1);
tm.filltblTeacher((DefaultTableModel) tblTeachers.getModel()); //Refreshes table teachers
//if not show error message
} else {
JOptionPane.showMessageDialog(null, "Unable to add teacher", "MY_SCHED", 0);
}
}
private void txtSurnameActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtFirstnameActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
85 | P a g e
private void btnScheduleActionPerformed(java.awt.event.ActionEvent evt) {
new Schedule().setVisible(true);
dispose();
NotificationManager nm = new NotificationManager();
if (nm.getMon() == 1) {
//if getmon method =1 , message for monday must appear
JOptionPane.showMessageDialog(null, "Monday has been Updated");
nm.updateNotificationMon(0);
}
if (nm.getTue() == 1) {//if gettue method =1 , message for monday must appear
JOptionPane.showMessageDialog(null, "tuesday has been Updated");
nm.updateNotificationTue(0);
}
if (nm.getWed() == 1) {//if getWed method =1 , message for monday must appear
JOptionPane.showMessageDialog(null, "wednesday has been Updated");
nm.updateNotificationWed(0);
}
if (nm.getThu() == 1) {//if getThu method =1 , message for monday must appear
JOptionPane.showMessageDialog(null, "thursday has been Updated");
nm.updateNotificationThu(0);
}
if (nm.getFri() == 1) {//if getFri method =1 , message for monday must appear
JOptionPane.showMessageDialog(null, "friday has been Updated");
nm.updateNotificationFri(0);
}
//all code clears txt file for new write
}
private void btnEditPeriodActionPerformed(java.awt.event.ActionEvent evt) {
if (selectedPeriod == null) {
86 | P a g e
return;
//does nothing if no row is slected
}
//gets new data
String startTime = txtstartTime.getText();
String endTime = txtendTime.getText();
//putting new data in valiation check
DataValidation dv = new DataValidation();
dv.checkPeriodEdit(startTime, lblStartTimeError);
dv.checkPeriodEdit(endTime, lblendTime);
//if data is valid set new data in
if (dv.isValid()) {
selectedPeriod.setStartTime(startTime);
selectedPeriod.setEndTime(endTime);
PeriodManager pm = new PeriodManager();
pm.updatePeriod(selectedPeriod);
JOptionPane.showMessageDialog(null, "period has been updated", "MY_SCHED", 1);
pm.filltblPeriods((DefaultTableModel) tblPeriods.getModel());
//if data is invalid, show error message
} else {
JOptionPane.showMessageDialog(null, "period unable to be edited");
}
}
private void btnBackToLogin4ActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true); //opens login page and closes prevoius page
dispose();
}
87 | P a g e
private void btnBackToLogin3ActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);//opens login page and closes prevoius page
dispose();
}
private void btnBackToLogin2ActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);//opens login page and closes prevoius page
dispose();
}
private void btnBackToLogin1ActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);//opens login page and closes prevoius page
dispose();
}
private void tblTeachersMouseClicked(java.awt.event.MouseEvent evt) {
int row = tblTeachers.getSelectedRow(); //gets selected row that user clciks
int teacherID = (int) tblTeachers.getValueAt(row, 0);
teacherManager tm = new teacherManager();
selectedTeacher = tm.getSelectedTeacher(teacherID); //makes selecetd teacher = the row
selecetd
//puts data from table into text fields and comboBox
txtFirstname.setText(selectedTeacher.getFirstname());
txtSurname.setText(selectedTeacher.getSurname());
cmbTeachersSubject.setSelectedItem(selectedTeacher.getSubject());
txtEmail.setText(selectedTeacher.getEmail());
}
private void txtSearchKeyReleased(java.awt.event.KeyEvent evt) {
88 | P a g e
String text = txtSearch.getText();
this.searchTable(text, tblTeachers); //uses search method above
}
private void txtEmailActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void tblPeriodsMouseClicked(java.awt.event.MouseEvent evt) {
int row = tblPeriods.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblPeriods.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
PeriodManager pm = new PeriodManager();
//puts data from table into text fields
selectedPeriod = pm.getSelectedPeriod(periodID);
txtstartTime.setText(selectedPeriod.getStartTime());
txtendTime.setText(selectedPeriod.getEndTime());
}
private void btnAddSubjectActionPerformed(java.awt.event.ActionEvent evt) {
//gets new data
String Subject = txtSubjectNew.getText();
Subjects sbj = new Subjects(Subject);
SubjectManager sm = new SubjectManager();
//checks data with datavalidation class method
DataValidation dv = new DataValidation();
89 | P a g e
dv.checkSubject(Subject, lblSubjectERRor);
//if data is valid it adds new subject and displays comfirmation
if (dv.isValid()) {
sm.addSubject(sbj);
JOptionPane.showMessageDialog(null, "subject Added succesfully", "MY_SCHED", 1);
sm.filltblSubjects((DefaultTableModel) tblSubjects.getModel()); //Refreshes table teachers
sm.fillComboBoxWithSubject(cmbTeachersSubject);
// if data is invalid, shows error message
} else {
JOptionPane.showMessageDialog(null, "subject unable to be added");
}
}
private void btnDeleteSubjectActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblSubjects.getSelectedRow(); //gets selecetd row
if (row == -1) { //find if there is not row seleected
JOptionPane.showMessageDialog(null, "please select a subject", "MY_SCHED", 1);
} else {
int id = (int) tblSubjects.getValueAt(row, 0);
SubjectManager sm = new SubjectManager();
sm.deleteSubject(id); //uses delete =Subject method in subject Manager
sm.filltblSubjects((DefaultTableModel) tblSubjects.getModel()); //refrshes table
JOptionPane.showMessageDialog(null, "Subject has been deleted successfully", "MY_SCHED",
1);
}
}
private void btnConfirmNewAdminActionPerformed(java.awt.event.ActionEvent evt) {
90 | P a g e
//gets new data
String newUsername = txtnewUsername.getText();
String newPassword = txtNewpassword.getText();
//sets username and password to new data
Login.currentUser.setPassword(newPassword);
Login.currentUser.setUsername(newUsername);
LoginManager lm = new LoginManager();
//sql statment to update login
lm.updateAdmin(Login.currentUser);
JOptionPane.showMessageDialog(null, "Details have been updated");
}
private void tblSubjectsKeyPressed(java.awt.event.KeyEvent evt) {
}
private void tblSubjectsMouseClicked(java.awt.event.MouseEvent evt) {
int row = tblSubjects.getSelectedRow(); //gets selecetd row
int SubjectID = (int) tblSubjects.getValueAt(row, 0); //gets subjectID at that row
SubjectManager sm = new SubjectManager();
selectedSubject = sm.getSelectedSubject(SubjectID);
txtSubjectNew.setText(selectedSubject.getSubject()); //puts subject into text field
}
private void btnScheduleMouseDragged(java.awt.event.MouseEvent evt) {
}
91 | P a g e
private void btnTeacherHelpActionPerformed(java.awt.event.ActionEvent evt) {
String teacherHelp = "This is the teacher help \n \n 1. If you are unable to add a teacher, please
make sure you have entered all the information correctly and checked that the information entered
is validated. There will be red error messages if the data isn't \n valid. \n 2. If you are unable to edit a
teacher, please make sure all information is correct and valid and that you have selected a teacher.
\n 3. If you are unable to delete a teacher, please make sure you have selected a teacher. \n \n
NOTE: the teacher named *free* cannot be deleted as it is used to show empty slots in schedule";
txtAHelpMain.setText(teacherHelp);
}
private void btnHelpOKActionPerformed(java.awt.event.ActionEvent evt) {
txtAHelpMain.setText("");
}
private void btnSAndPActionPerformed(java.awt.event.ActionEvent evt) {
String SubejctHelp = "This is the Subject Help \n \n 1. If you are unable to add a subject, please
make sure it is a valid subject. \n 2. Subject names will only be permitted in english language. \n 3.
Subejcts are uneditable; if you would like to edit a subject, please delete it and recreate the subject.
\n \n NOTE: The subject *other* cannot be deleted. \n
These subjects are only options to
use when creating a new teacher ";
txtAHelpMain.setText(SubejctHelp);
}
private void btnAdminActionPerformed(java.awt.event.ActionEvent evt) {
String AdminHelp = "This is the Admin help \n \n 1. If you need to change username,password
or email, please go to the settings tab. \n 2. If you are unable to create new username, password or
email, Please make sure the data is correct and validated. \n 3. If you would like to delete account,
please select *delete Admin* in settings tab. \n\n NOTE: Please contact custmer care for more help
options";
txtAHelpMain.setText(AdminHelp);
}
private void btnCustomerCareActionPerformed(java.awt.event.ActionEvent evt) {
92 | P a g e
//opens customercare screen
new CustomerCare().setVisible(true);
}
private void cmbStatsActionPerformed(java.awt.event.ActionEvent evt) {
}
private void cmbTeachersSubjectActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnGetLessonsActionPerformed(java.awt.event.ActionEvent evt) {
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
93 | P a g e
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(mainscreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(mainscreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(mainscreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(mainscreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new mainscreen().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnAddSubject;
94 | P a g e
private javax.swing.JButton btnAddTeacher;
private javax.swing.JButton btnAdmin;
private javax.swing.JButton btnBackToLogin1;
private javax.swing.JButton btnBackToLogin2;
private javax.swing.JButton btnBackToLogin3;
private javax.swing.JButton btnBackToLogin4;
private javax.swing.JButton btnClear;
private javax.swing.JButton btnConfirmNewAdmin;
private javax.swing.JButton btnCustomerCare;
private javax.swing.JButton btnDeleteSubject;
private javax.swing.JButton btnDeleteTeacher;
private javax.swing.JButton btnEditPeriod;
private javax.swing.JButton btnEditTeacher;
private javax.swing.JButton btnGetLessons;
private javax.swing.JButton btnHelpOK;
private javax.swing.JButton btnSAndP;
private javax.swing.JButton btnSchedule;
private javax.swing.JButton btnTeacherHelp;
private javax.swing.JComboBox<String> cmbStats;
private javax.swing.JComboBox<String> cmbTeachersSubject;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JPanel jpanCandidates;
private javax.swing.JLabel lblAmountstats;
private javax.swing.JLabel lblChangeAdmin;
private javax.swing.JLabel lblEmail;
private javax.swing.JLabel lblEmailErr;
private javax.swing.JLabel lblEndTimeError;
95 | P a g e
private javax.swing.JLabel lblExLAdress;
private javax.swing.JLabel lblFirstname;
private javax.swing.JLabel lblFirstnameErr;
private javax.swing.JLabel lblSchedPage;
private javax.swing.JLabel lblSelectLessonStats;
private javax.swing.JLabel lblStartTimeError;
private javax.swing.JLabel lblSubject;
private javax.swing.JLabel lblSubjectERRor;
private javax.swing.JLabel lblSubjectErr;
private javax.swing.JLabel lblSubjectHeader;
private javax.swing.JLabel lblSubjects;
private javax.swing.JLabel lblSurname;
private javax.swing.JLabel lblSurnameErr;
private javax.swing.JLabel lblendTime;
private javax.swing.JLabel lblnewpassword;
private javax.swing.JLabel lblperiodTimes;
private javax.swing.JLabel lblusernamechange;
private javax.swing.JPanel pnlHelp;
private javax.swing.JTabbedPane pnlMain;
private javax.swing.JPanel pnlPeriodsAndSubject;
private javax.swing.JPanel pnlSchedule;
private javax.swing.JPanel pnlSettings;
private javax.swing.JPanel pnlStats;
private javax.swing.JPanel pnlTeachers;
private javax.swing.JLabel searchTeacherlbl;
private javax.swing.JTable tblPeriods;
private javax.swing.JTable tblSubjects;
private javax.swing.JTable tblTeachers;
private javax.swing.JLabel teacherScreenlbl;
private javax.swing.JTextArea txtAHelpMain;
private javax.swing.JTextField txtEmail;
96 | P a g e
private javax.swing.JTextField txtFirstname;
private javax.swing.JTextField txtNewpassword;
private javax.swing.JTextField txtSearch;
private javax.swing.JTextField txtStats;
private javax.swing.JTextField txtSubjectNew;
private javax.swing.JTextField txtSurname;
private javax.swing.JTextField txtendTime;
private javax.swing.JTextField txtnewUsername;
private javax.swing.JTextField txtstartTime;
// End of variables declaration
}
Login screen:
/*
97 | P a g e
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package view;
import classes.LoginManager;
import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
/**
*
* @author jgalt
*/
public class Login extends javax.swing.JFrame {
public static classes.login currentUser;
public Login() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
pnlLogin = new javax.swing.JPanel();
usernametxt = new javax.swing.JTextField();
usernamelbl = new javax.swing.JLabel();
passwordlbl = new javax.swing.JLabel();
98 | P a g e
welcomelbl = new javax.swing.JLabel();
btnLogin = new javax.swing.JButton();
Ptxtpassword = new javax.swing.JPasswordField();
btnGuest = new javax.swing.JButton();
btnLoginExit = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
usernametxt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
usernametxtActionPerformed(evt);
}
});
usernamelbl.setText("Username");
passwordlbl.setText("Password");
welcomelbl.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
welcomelbl.setText("welcome to MySched");
btnLogin.setText("Login");
btnLogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLoginActionPerformed(evt);
}
});
btnLogin.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
btnLoginKeyPressed(evt);
}
99 | P a g e
});
btnGuest.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
btnGuest.setText("Guest");
btnGuest.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnGuestActionPerformed(evt);
}
});
btnLoginExit.setText("Exit");
btnLoginExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLoginExitActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlLoginLayout = new javax.swing.GroupLayout(pnlLogin);
pnlLogin.setLayout(pnlLoginLayout);
pnlLoginLayout.setHorizontalGroup(
pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(240, 240, 240)
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
100 | P a g e
.addComponent(usernamelbl, javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(passwordlbl, javax.swing.GroupLayout.PREFERRED_SIZE, 61,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(204, 204, 204)
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(usernametxt, javax.swing.GroupLayout.PREFERRED_SIZE, 151,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ptxtpassword, javax.swing.GroupLayout.PREFERRED_SIZE, 151,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(64, 64, 64)
.addComponent(btnGuest, javax.swing.GroupLayout.PREFERRED_SIZE, 158,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(170, 170, 170)
.addComponent(welcomelbl, javax.swing.GroupLayout.PREFERRED_SIZE, 207,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(244, 244, 244)
.addComponent(btnLogin)))
.addGap(0, 46, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlLoginLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(btnLoginExit)))
.addContainerGap())
);
pnlLoginLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[]
{passwordlbl, usernamelbl});
pnlLoginLayout.setVerticalGroup(
101 | P a g e
pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addGap(32, 32, 32)
.addComponent(welcomelbl, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(54, 54, 54)
.addComponent(usernamelbl)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(pnlLoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(pnlLoginLayout.createSequentialGroup()
.addComponent(usernametxt, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(passwordlbl)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Ptxtpassword, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(btnGuest, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(41, 41, 41)
.addComponent(btnLogin)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21,
Short.MAX_VALUE)
.addComponent(btnLoginExit)
.addContainerGap())
);
pnlLoginLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{passwordlbl, usernamelbl});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
102 | P a g e
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pnlLogin, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(pnlLogin, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void usernametxtActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
LoginManager lm = new LoginManager();
//gets input data
String username = usernametxt.getText();
String password = Ptxtpassword.getText();
//makes current user = new data
currentUser = lm.getCurrentUser(username, password);
//checks surrent user with database if not found shows error message
if(currentUser == null){
JOptionPane.showMessageDialog(null, "Username and password not found");
}
103 | P a g e
//if corrent, opens mainScreen and closes login
else{
new mainscreen().setVisible(true);
this.dispose();
}
}
private void btnLoginExitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0); //closes application
}
private void btnGuestActionPerformed(java.awt.event.ActionEvent evt) {
new GuestScreen().setVisible(true); //opens guest schedule and mainscreen
dispose();
}
private void btnLoginKeyPressed(java.awt.event.KeyEvent evt) {
//if nothing is entered
String username = usernametxt.getText();
String password = Ptxtpassword.getText();
if (username.equals("") && password.equals("")) {
JOptionPane.showMessageDialog(null, "please enter username or password");
}
}
104 | P a g e
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>
105 | P a g e
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Login().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JPasswordField Ptxtpassword;
private javax.swing.JButton btnGuest;
private javax.swing.JButton btnLogin;
private javax.swing.JButton btnLoginExit;
private javax.swing.JLabel passwordlbl;
private javax.swing.JPanel pnlLogin;
private javax.swing.JLabel usernamelbl;
private javax.swing.JTextField usernametxt;
private javax.swing.JLabel welcomelbl;
// End of variables declaration
}
106 | P a g e
Schedule Screen:
package view;
import classes.DataValidation;
import classes.ScheduleManager;
import classes.UpdatePerson;
import classes.teacherManager;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author jgalt
*/
public class Schedule extends javax.swing.JFrame {
private UpdatePerson selectedPeriod;
public Schedule() {
initComponents();
ScheduleManager ms = new ScheduleManager();
//fills all tables with information from SQL statement in scheudle manager
ms.filltblMonday((DefaultTableModel) tblMonday.getModel());
ms.filltblTuesday((DefaultTableModel) tblTuesday.getModel());
ms.filltblWednesday((DefaultTableModel) tblWednesday.getModel());
ms.filltblthursday((DefaultTableModel) tblThursday.getModel());
ms.filltblFriday((DefaultTableModel) tblFriday.getModel());
107 | P a g e
//fills subject bomboBoxes for each day
ms.fillComboBoxWithName(cmbMon, cmbTue, cmbWed, cmbThu, cmbFri);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
pnlSchedule = new javax.swing.JTabbedPane();
pnlMonday = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tblMonday = new javax.swing.JTable();
btneditlessonMon = new javax.swing.JButton();
btnBackToMain = new javax.swing.JButton();
lblAddNewMon = new javax.swing.JLabel();
jScrollPane6 = new javax.swing.JScrollPane();
txtAmon = new javax.swing.JTextArea();
cmbMon = new javax.swing.JComboBox<>();
pnlTuesday = new javax.swing.JPanel();
jScrollPane7 = new javax.swing.JScrollPane();
tblTuesday = new javax.swing.JTable();
btneditlessonTue = new javax.swing.JButton();
btnBackToMainTue = new javax.swing.JButton();
lblSeclectNewTue = new javax.swing.JLabel();
jScrollPane8 = new javax.swing.JScrollPane();
108 | P a g e
txtAmon1 = new javax.swing.JTextArea();
cmbTue = new javax.swing.JComboBox<>();
pnlWendesday = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
tblWednesday = new javax.swing.JTable();
btneditlessonWed = new javax.swing.JButton();
btnBackToMainWed = new javax.swing.JButton();
lblAddNewWed = new javax.swing.JLabel();
jScrollPane9 = new javax.swing.JScrollPane();
txtAmon2 = new javax.swing.JTextArea();
cmbWed = new javax.swing.JComboBox<>();
pnlThursday = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
tblThursday = new javax.swing.JTable();
btneditlessonThu = new javax.swing.JButton();
btnBackToMainThu = new javax.swing.JButton();
lblAddNewThu = new javax.swing.JLabel();
jScrollPane10 = new javax.swing.JScrollPane();
txtAmon3 = new javax.swing.JTextArea();
cmbThu = new javax.swing.JComboBox<>();
pnlMonday1 = new javax.swing.JPanel();
jScrollPane4 = new javax.swing.JScrollPane();
tblFriday = new javax.swing.JTable();
btneditlessonFri = new javax.swing.JButton();
btnBackToMainFri = new javax.swing.JButton();
lblAddNewFri = new javax.swing.JLabel();
jScrollPane11 = new javax.swing.JScrollPane();
txtAmon4 = new javax.swing.JTextArea();
cmbFri = new javax.swing.JComboBox<>();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
109 | P a g e
tblMonday.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane1.setViewportView(tblMonday);
btneditlessonMon.setText("edit lesson");
btneditlessonMon.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneditlessonMonActionPerformed(evt);
}
});
btnBackToMain.setText("Back to main");
btnBackToMain.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToMainActionPerformed(evt);
}
});
lblAddNewMon.setText("Select new person:");
txtAmon.setColumns(20);
110 | P a g e
txtAmon.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
txtAmon.setRows(5);
txtAmon.setText("select period\nchoose new person for slot\ninsert/free up slot");
jScrollPane6.setViewportView(txtAmon);
cmbMon.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbMonActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlMondayLayout = new javax.swing.GroupLayout(pnlMonday);
pnlMonday.setLayout(pnlMondayLayout);
pnlMondayLayout.setHorizontalGroup(
pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMondayLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 533,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMondayLayout.createSequentialGroup()
.addGap(83, 83, 83)
.addComponent(lblAddNewMon)
.addGap(18, 18, 18)
.addComponent(cmbMon, javax.swing.GroupLayout.PREFERRED_SIZE, 181,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlMondayLayout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 328,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlMondayLayout.createSequentialGroup()
111 | P a g e
.addGap(488, 488, 488)
.addComponent(btnBackToMain))
.addGroup(pnlMondayLayout.createSequentialGroup()
.addGap(154, 154, 154)
.addComponent(btneditlessonMon)))
.addContainerGap(13, Short.MAX_VALUE))
);
pnlMondayLayout.setVerticalGroup(
pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMondayLayout.createSequentialGroup()
.addContainerGap(66, Short.MAX_VALUE)
.addGroup(pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlMondayLayout.createSequentialGroup()
.addGroup(pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlMondayLayout.createSequentialGroup()
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(pnlMondayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblAddNewMon)
.addComponent(cmbMon, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addComponent(btneditlessonMon)))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlMondayLayout.createSequentialGroup()
.addComponent(btnBackToMain)
112 | P a g e
.addContainerGap())))
);
pnlSchedule.addTab("Monday", pnlMonday);
tblTuesday.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane7.setViewportView(tblTuesday);
btneditlessonTue.setText("edit lesson");
btneditlessonTue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneditlessonTueActionPerformed(evt);
}
});
btnBackToMainTue.setText("Back to main");
btnBackToMainTue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToMainTueActionPerformed(evt);
}
});
113 | P a g e
lblSeclectNewTue.setText("Select new person:");
txtAmon1.setColumns(20);
txtAmon1.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
txtAmon1.setRows(5);
txtAmon1.setText("select period\nchoose new person for slot\ninsert/free up slot");
jScrollPane8.setViewportView(txtAmon1);
javax.swing.GroupLayout pnlTuesdayLayout = new javax.swing.GroupLayout(pnlTuesday);
pnlTuesday.setLayout(pnlTuesdayLayout);
pnlTuesdayLayout.setHorizontalGroup(
pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 533,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addGap(83, 83, 83)
.addComponent(lblSeclectNewTue)
.addGap(18, 18, 18)
.addComponent(cmbTue, javax.swing.GroupLayout.PREFERRED_SIZE, 181,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 328,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addGap(488, 488, 488)
.addComponent(btnBackToMainTue))
114 | P a g e
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addGap(154, 154, 154)
.addComponent(btneditlessonTue)))
.addContainerGap(13, Short.MAX_VALUE))
);
pnlTuesdayLayout.setVerticalGroup(
pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addContainerGap(66, Short.MAX_VALUE)
.addGroup(pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlTuesdayLayout.createSequentialGroup()
.addGroup(pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTuesdayLayout.createSequentialGroup()
.addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(pnlTuesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblSeclectNewTue)
.addComponent(cmbTue, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addComponent(btneditlessonTue)))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlTuesdayLayout.createSequentialGroup()
.addComponent(btnBackToMainTue)
.addContainerGap())))
);
115 | P a g e
pnlSchedule.addTab("Tuesday", pnlTuesday);
tblWednesday.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane2.setViewportView(tblWednesday);
btneditlessonWed.setText("edit lesson");
btneditlessonWed.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneditlessonWedActionPerformed(evt);
}
});
btnBackToMainWed.setText("Back to main");
btnBackToMainWed.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToMainWedActionPerformed(evt);
}
});
lblAddNewWed.setText("Select new person:");
116 | P a g e
txtAmon2.setColumns(20);
txtAmon2.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
txtAmon2.setRows(5);
txtAmon2.setText("select period\nchoose new person for slot\ninsert/free up slot");
jScrollPane9.setViewportView(txtAmon2);
javax.swing.GroupLayout pnlWendesdayLayout = new
javax.swing.GroupLayout(pnlWendesday);
pnlWendesday.setLayout(pnlWendesdayLayout);
pnlWendesdayLayout.setHorizontalGroup(
pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 533,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addGap(83, 83, 83)
.addComponent(lblAddNewWed)
.addGap(18, 18, 18)
.addComponent(cmbWed, javax.swing.GroupLayout.PREFERRED_SIZE, 181,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 328,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addGap(488, 488, 488)
.addComponent(btnBackToMainWed))
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addGap(154, 154, 154)
117 | P a g e
.addComponent(btneditlessonWed)))
.addContainerGap(13, Short.MAX_VALUE))
);
pnlWendesdayLayout.setVerticalGroup(
pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addContainerGap(66, Short.MAX_VALUE)
.addGroup(pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlWendesdayLayout.createSequentialGroup()
.addGroup(pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlWendesdayLayout.createSequentialGroup()
.addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(pnlWendesdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE
)
.addComponent(lblAddNewWed)
.addComponent(cmbWed, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addComponent(btneditlessonWed)))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlWendesdayLayout.createSequentialGroup()
.addComponent(btnBackToMainWed)
.addContainerGap())))
);
118 | P a g e
pnlSchedule.addTab("Wednesday", pnlWendesday);
tblThursday.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane3.setViewportView(tblThursday);
btneditlessonThu.setText("edit lesson");
btneditlessonThu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneditlessonThuActionPerformed(evt);
}
});
btnBackToMainThu.setText("Back to main");
btnBackToMainThu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToMainThuActionPerformed(evt);
}
});
lblAddNewThu.setText("Select new person:");
119 | P a g e
txtAmon3.setColumns(20);
txtAmon3.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
txtAmon3.setRows(5);
txtAmon3.setText("select period\nchoose new person for slot\ninsert/free up slot");
jScrollPane10.setViewportView(txtAmon3);
javax.swing.GroupLayout pnlThursdayLayout = new javax.swing.GroupLayout(pnlThursday);
pnlThursday.setLayout(pnlThursdayLayout);
pnlThursdayLayout.setHorizontalGroup(
pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 533,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addGap(83, 83, 83)
.addComponent(lblAddNewThu)
.addGap(18, 18, 18)
.addComponent(cmbThu, javax.swing.GroupLayout.PREFERRED_SIZE, 181,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 328,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addGap(488, 488, 488)
.addComponent(btnBackToMainThu))
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addGap(154, 154, 154)
.addComponent(btneditlessonThu)))
120 | P a g e
.addContainerGap(13, Short.MAX_VALUE))
);
pnlThursdayLayout.setVerticalGroup(
pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addContainerGap(66, Short.MAX_VALUE)
.addGroup(pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlThursdayLayout.createSequentialGroup()
.addGroup(pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlThursdayLayout.createSequentialGroup()
.addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(pnlThursdayLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblAddNewThu)
.addComponent(cmbThu, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addComponent(btneditlessonThu)))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlThursdayLayout.createSequentialGroup()
.addComponent(btnBackToMainThu)
.addContainerGap())))
);
pnlSchedule.addTab("Thursday", pnlThursday);
121 | P a g e
tblFriday.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane4.setViewportView(tblFriday);
btneditlessonFri.setText("edit lesson");
btneditlessonFri.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btneditlessonFriActionPerformed(evt);
}
});
btnBackToMainFri.setText("Back to main");
btnBackToMainFri.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToMainFriActionPerformed(evt);
}
});
lblAddNewFri.setText("Select new person:");
txtAmon4.setColumns(20);
txtAmon4.setFont(new java.awt.Font("Courier New", 0, 12)); // NOI18N
122 | P a g e
txtAmon4.setRows(5);
txtAmon4.setText("select period\nchoose new person for slot\ninsert/free up slot");
jScrollPane11.setViewportView(txtAmon4);
javax.swing.GroupLayout pnlMonday1Layout = new javax.swing.GroupLayout(pnlMonday1);
pnlMonday1.setLayout(pnlMonday1Layout);
pnlMonday1Layout.setHorizontalGroup(
pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 533,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addGap(83, 83, 83)
.addComponent(lblAddNewFri)
.addGap(18, 18, 18)
.addComponent(cmbFri, javax.swing.GroupLayout.PREFERRED_SIZE, 181,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 328,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addGap(488, 488, 488)
.addComponent(btnBackToMainFri))
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addGap(154, 154, 154)
.addComponent(btneditlessonFri)))
.addContainerGap(13, Short.MAX_VALUE))
);
123 | P a g e
pnlMonday1Layout.setVerticalGroup(
pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addContainerGap(66, Short.MAX_VALUE)
.addGroup(pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlMonday1Layout.createSequentialGroup()
.addGroup(pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlMonday1Layout.createSequentialGroup()
.addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addGroup(pnlMonday1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblAddNewFri)
.addComponent(cmbFri, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(67, 67, 67)
.addComponent(btneditlessonFri)))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlMonday1Layout.createSequentialGroup()
.addComponent(btnBackToMainFri)
.addContainerGap())))
);
pnlSchedule.addTab("Friday", pnlMonday1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
124 | P a g e
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(pnlSchedule, javax.swing.GroupLayout.PREFERRED_SIZE, 1156,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pnlSchedule)
);
pack();
}// </editor-fold>
private void btneditlessonMonActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblMonday.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblMonday.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
String teacherSelected = cmbMon.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
125 | P a g e
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
if(teacherID == -1) { //works around java eror message with use of -1 and updates tabel with
Free
selectedPeriod.setTeacherID(26);
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //sets table with TeacherID 26
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblMonday((DefaultTableModel) tblMonday.getModel()); //refresh table
}
else{
selectedPeriod.setTeacherID(teacherID); //sets seleccted peroid with selected teacherID
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //Uses UpdatePeriod method in Schedule manager
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblMonday((DefaultTableModel) tblMonday.getModel());
}
}
private void btnBackToMainActionPerformed(java.awt.event.ActionEvent evt) {
new mainscreen().setVisible(true);
dispose();//opens mainScreen and closes Schedule screen
}
private void btneditlessonTueActionPerformed(java.awt.event.ActionEvent evt) {
126 | P a g e
int row = tblTuesday.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblTuesday.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
String teacherSelected = cmbTue.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
if(teacherID == -1) { //works around java eror message with use of -1 and updates tabel with
Free
selectedPeriod.setTeacherID(26);
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //sets table with TeacherID 26
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblTuesday((DefaultTableModel) tblTuesday.getModel()); //refresh table
}
else{
selectedPeriod.setTeacherID(teacherID); //sets seleccted peroid with selected teacherID
ScheduleManager ms = new ScheduleManager();
127 | P a g e
ms.updatePeriod(selectedPeriod); //Uses UpdatePeriod method in Schedule manager
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblTuesday((DefaultTableModel) tblTuesday.getModel());
}
}
private void btnBackToMainTueActionPerformed(java.awt.event.ActionEvent evt) {
new mainscreen().setVisible(true);
dispose();//opens mainScreen and closes Schedule screen
}
private void btneditlessonWedActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblWednesday.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblWednesday.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
String teacherSelected = cmbWed.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
128 | P a g e
if(teacherID == -1) { //works around java eror message with use of -1 and updates tabel with
Free
selectedPeriod.setTeacherID(26);
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //sets table with TeacherID 26
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblWednesday((DefaultTableModel) tblWednesday.getModel()); //refresh table
}
else{
selectedPeriod.setTeacherID(teacherID); //sets seleccted peroid with selected teacherID
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //Uses UpdatePeriod method in Schedule manager
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblWednesday((DefaultTableModel) tblWednesday.getModel());
}
}
private void btnBackToMainWedActionPerformed(java.awt.event.ActionEvent evt) {
new mainscreen().setVisible(true);
dispose();//opens mainScreen and closes Schedule screen
}
private void btneditlessonThuActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblThursday.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblThursday.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
129 | P a g e
String teacherSelected = cmbThu.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
if(teacherID == -1) { //works around java eror message with use of -1 and updates tabel with
Free
selectedPeriod.setTeacherID(26);
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //sets table with TeacherID 26
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblthursday((DefaultTableModel) tblThursday.getModel()); //refresh table
}
else{
selectedPeriod.setTeacherID(teacherID); //sets seleccted peroid with selected teacherID
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //Uses UpdatePeriod method in Schedule manager
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblthursday((DefaultTableModel) tblThursday.getModel());
}
130 | P a g e
}
private void btnBackToMainThuActionPerformed(java.awt.event.ActionEvent evt) {
new mainscreen().setVisible(true);
dispose();//opens mainScreen and closes Schedule screen
}
private void btneditlessonFriActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblFriday.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblFriday.getValueAt(row, 0); //gets periodID so that code knows which row
to change in SQL
String teacherSelected = cmbFri.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
if(teacherID == -1) { //works around java eror message with use of -1 and updates tabel with
Free
selectedPeriod.setTeacherID(26);
131 | P a g e
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //sets table with TeacherID 26
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblFriday((DefaultTableModel) tblFriday.getModel()); //refresh table
}
else{
selectedPeriod.setTeacherID(teacherID); //sets seleccted peroid with selected teacherID
ScheduleManager ms = new ScheduleManager();
ms.updatePeriod(selectedPeriod); //Uses UpdatePeriod method in Schedule manager
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
ms.filltblFriday((DefaultTableModel) tblFriday.getModel());
}
}
private void btnBackToMainFriActionPerformed(java.awt.event.ActionEvent evt) {
new mainscreen().setVisible(true);
dispose();//opens mainScreen and closes Schedule screen
}
private void cmbMonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
132 | P a g e
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Schedule.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Schedule.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Schedule.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Schedule.class.getName()).log(java.util.logging.Level.SEVERE, null,
ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
133 | P a g e
public void run() {
new Schedule().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnBackToMain;
private javax.swing.JButton btnBackToMainFri;
private javax.swing.JButton btnBackToMainThu;
private javax.swing.JButton btnBackToMainTue;
private javax.swing.JButton btnBackToMainWed;
private javax.swing.JButton btneditlessonFri;
private javax.swing.JButton btneditlessonMon;
private javax.swing.JButton btneditlessonThu;
private javax.swing.JButton btneditlessonTue;
private javax.swing.JButton btneditlessonWed;
private javax.swing.JComboBox<String> cmbFri;
private javax.swing.JComboBox<String> cmbMon;
private javax.swing.JComboBox<String> cmbThu;
private javax.swing.JComboBox<String> cmbTue;
private javax.swing.JComboBox<String> cmbWed;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane10;
private javax.swing.JScrollPane jScrollPane11;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JScrollPane jScrollPane7;
private javax.swing.JScrollPane jScrollPane8;
134 | P a g e
private javax.swing.JScrollPane jScrollPane9;
private javax.swing.JLabel lblAddNewFri;
private javax.swing.JLabel lblAddNewMon;
private javax.swing.JLabel lblAddNewThu;
private javax.swing.JLabel lblAddNewWed;
private javax.swing.JLabel lblSeclectNewTue;
private javax.swing.JPanel pnlMonday;
private javax.swing.JPanel pnlMonday1;
private javax.swing.JTabbedPane pnlSchedule;
private javax.swing.JPanel pnlThursday;
private javax.swing.JPanel pnlTuesday;
private javax.swing.JPanel pnlWendesday;
private javax.swing.JTable tblFriday;
private javax.swing.JTable tblMonday;
private javax.swing.JTable tblThursday;
private javax.swing.JTable tblTuesday;
private javax.swing.JTable tblWednesday;
private javax.swing.JTextArea txtAmon;
private javax.swing.JTextArea txtAmon1;
private javax.swing.JTextArea txtAmon2;
private javax.swing.JTextArea txtAmon3;
private javax.swing.JTextArea txtAmon4;
// End of variables declaration
}
135 | P a g e
CustomerCare Screen:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package view;
import classes.EmailManager;
import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.MessagingException;
/**
*
* @author menac
*/
public class CustomerCare extends javax.swing.JFrame {
/**
* Creates new form CustomerCare
*/
public CustomerCare() {
initComponents();
136 | P a g e
//em.complaintMessage(complain);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
CustomerCareName = new javax.swing.JLabel();
lblCustomerCareSurname = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
txtAIssue = new javax.swing.JTextArea();
jButton1 = new javax.swing.JButton();
txtFirstnameCustomerCare = new javax.swing.JTextField();
txtSurnameCustomerCare = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
lblCustomerEmail = new javax.swing.JLabel();
txtCustomerEmail = new javax.swing.JTextField();
btnBackToLogin = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
CustomerCareName.setText("firstname:");
137 | P a g e
lblCustomerCareSurname.setText("Surname:");
jLabel1.setText("Please send us a decription of issue");
txtAIssue.setColumns(20);
txtAIssue.setRows(5);
jScrollPane1.setViewportView(txtAIssue);
jButton1.setText("Send");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
txtFirstnameCustomerCare.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtFirstnameCustomerCareActionPerformed(evt);
}
});
txtSurnameCustomerCare.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtSurnameCustomerCareActionPerformed(evt);
}
});
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel2.setText("Customer Care");
138 | P a g e
lblCustomerEmail.setText("Email:");
btnBackToLogin.setText("back to Login");
btnBackToLogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnBackToLoginActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(117, 117, 117)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 472,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 214,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CustomerCareName,
javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblCustomerCareSurname,
javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblCustomerEmail, javax.swing.GroupLayout.PREFERRED_SIZE,
58, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
139 | P a g e
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtFirstnameCustomerCare)
.addComponent(txtSurnameCustomerCare,
javax.swing.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
.addComponent(txtCustomerEmail)))))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(239, 239, 239)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(127, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(255, 255, 255)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 168,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnBackToLogin)
.addGap(23, 23, 23))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 39,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtFirstnameCustomerCare, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(CustomerCareName, javax.swing.GroupLayout.PREFERRED_SIZE, 26,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
140 | P a g e
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblCustomerCareSurname)
.addComponent(txtSurnameCustomerCare, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(28, 28, 28)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblCustomerEmail)
.addComponent(txtCustomerEmail, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 151,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(btnBackToLogin))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
);
layout.setVerticalGroup(
141 | P a g e
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
EmailManager em = new EmailManager(); //creates usability for EmailManager
try {
//gets new informationa nd puts them into method in correct places
em.sendCustomerCareEmail(txtCustomerEmail.getText(), txtAIssue.getText(),
"CustomerCare", txtFirstnameCustomerCare + " " + txtSurnameCustomerCare);
} catch (IOException ex) {
Logger.getLogger(CustomerCare.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(CustomerCare.class.getName()).log(Level.SEVERE, null, ex);
} catch (MessagingException ex) {
Logger.getLogger(CustomerCare.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void txtSurnameCustomerCareActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void txtFirstnameCustomerCareActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
142 | P a g e
private void btnBackToLoginActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);
dispose();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(CustomerCare.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
143 | P a g e
java.util.logging.Logger.getLogger(CustomerCare.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(CustomerCare.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(CustomerCare.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new CustomerCare().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel CustomerCareName;
private javax.swing.JButton btnBackToLogin;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblCustomerCareSurname;
private javax.swing.JLabel lblCustomerEmail;
private javax.swing.JTextArea txtAIssue;
144 | P a g e
private javax.swing.JTextField txtCustomerEmail;
private javax.swing.JTextField txtFirstnameCustomerCare;
private javax.swing.JTextField txtSurnameCustomerCare;
// End of variables declaration
}
145 | P a g e
GuestScreen:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package view;
import classes.NotificationManager;
import classes.ScheduleManager;
import classes.Teacher;
import classes.UpdatePerson;
import classes.DataValidation;
import classes.teacherManager;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author User
*/
public class GuestScreen extends javax.swing.JFrame {
private UpdatePerson selectedPeriod; //creates object for UpdatePerson
public static String messageUpdate; // creates a varible message update that is static
// private Teacher selectedTeacher;
public GuestScreen() {
146 | P a g e
initComponents();
//filling tblTeachers and comboBox with subject names
teacherManager tm = new teacherManager();
tm.filltblTeacher((DefaultTableModel) tblTeachersG.getModel());
tm.fillComboBoxWithSubject(cmbSubjectG);
ScheduleManager scm = new ScheduleManager();
//filling tblmonday-tblFriday from sql satements int ScheduleManager
scm.filltblMonday((DefaultTableModel) tblMondayG.getModel());
scm.filltblTuesday((DefaultTableModel) tblTuesdayG.getModel());
scm.filltblWednesday((DefaultTableModel) tblWednesdayG.getModel());
scm.filltblthursday((DefaultTableModel) tblThursdayG.getModel());
scm.filltblFriday((DefaultTableModel) tblFridayG.getModel());
//fills comboBox for everyday of the week with teacher Name and Suname
scm.fillComboBoxWithNameG(cmbMonG, cmbTueG, cmbWedG, cmbThuG, cmbFriG);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
147 | P a g e
jTable1 = new javax.swing.JTable();
ScheduleGuest = new javax.swing.JTabbedPane();
pnlMondayGuest = new javax.swing.JPanel();
jScrollPane5 = new javax.swing.JScrollPane();
tblMondayG = new javax.swing.JTable();
lblchooseNewMonG = new javax.swing.JLabel();
cmbMonG = new javax.swing.JComboBox<>();
btnAddToTableMonG = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
txtAMondayG = new javax.swing.JTextArea();
btnLogoutG = new javax.swing.JButton();
pnlTuesdayGuest = new javax.swing.JPanel();
jScrollPane6 = new javax.swing.JScrollPane();
tblTuesdayG = new javax.swing.JTable();
lblchooseNewTueG = new javax.swing.JLabel();
cmbTueG = new javax.swing.JComboBox<>();
btnAddToTableTueG = new javax.swing.JButton();
jScrollPane4 = new javax.swing.JScrollPane();
txtATuesdayG = new javax.swing.JTextArea();
btnLogoutTueG = new javax.swing.JButton();
pnlWednesdayGuest = new javax.swing.JPanel();
jScrollPane7 = new javax.swing.JScrollPane();
tblWednesdayG = new javax.swing.JTable();
lblchooseNewWedG = new javax.swing.JLabel();
cmbWedG = new javax.swing.JComboBox<>();
btnAddToTableWedG = new javax.swing.JButton();
jScrollPane8 = new javax.swing.JScrollPane();
txtAWednesdayG = new javax.swing.JTextArea();
btnLogoutWedG = new javax.swing.JButton();
pnlThursdayGuest = new javax.swing.JPanel();
jScrollPane9 = new javax.swing.JScrollPane();
148 | P a g e
tblThursdayG = new javax.swing.JTable();
lblchooseNewThursdayG = new javax.swing.JLabel();
cmbThuG = new javax.swing.JComboBox<>();
btnAddToTableThuG = new javax.swing.JButton();
jScrollPane10 = new javax.swing.JScrollPane();
txtAThursdayG = new javax.swing.JTextArea();
btnLogoutThuG = new javax.swing.JButton();
pnlFridayGuest = new javax.swing.JPanel();
jScrollPane11 = new javax.swing.JScrollPane();
tblFridayG = new javax.swing.JTable();
lblchooseNewFriG = new javax.swing.JLabel();
cmbFriG = new javax.swing.JComboBox<>();
btnAddToTableFriG = new javax.swing.JButton();
jScrollPane12 = new javax.swing.JScrollPane();
txtAFridayG = new javax.swing.JTextArea();
btnLogoutFriG = new javax.swing.JButton();
pnlTeacherG = new javax.swing.JPanel();
jScrollPane3 = new javax.swing.JScrollPane();
tblTeachersG = new javax.swing.JTable();
lblnewteacherG = new javax.swing.JLabel();
btnAddteacherG = new javax.swing.JButton();
lblfirstnameG = new javax.swing.JLabel();
lblSurnameG = new javax.swing.JLabel();
lblSubjectG = new javax.swing.JLabel();
lblEmailG = new javax.swing.JLabel();
txtFirtsnameG = new javax.swing.JTextField();
txtSunameG = new javax.swing.JTextField();
txtEmailG = new javax.swing.JTextField();
cmbSubjectG = new javax.swing.JComboBox<>();
lblNameERR = new javax.swing.JLabel();
lblsurnamERR = new javax.swing.JLabel();
149 | P a g e
lblsubjectERR = new javax.swing.JLabel();
lblEmailERR = new javax.swing.JLabel();
pnlHelp = new javax.swing.JPanel();
jScrollPane13 = new javax.swing.JScrollPane();
txtAGuestHelp = new javax.swing.JTextArea();
btnOkayGuestHelp = new javax.swing.JButton();
btnScheduleHelp = new javax.swing.JButton();
btnGuestHelp = new javax.swing.JButton();
btnCustomerCareGuest = new javax.swing.JButton();
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
tblMondayG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
150 | P a g e
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane5.setViewportView(tblMondayG);
lblchooseNewMonG.setText("Choose new person");
btnAddToTableMonG.setText("Add to table");
btnAddToTableMonG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddToTableMonGActionPerformed(evt);
}
});
txtAMondayG.setColumns(20);
txtAMondayG.setRows(5);
txtAMondayG.setText("select empty slot on table\nchoose new person\npress add to table");
jScrollPane2.setViewportView(txtAMondayG);
btnLogoutG.setText("Logout");
btnLogoutG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLogoutGActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlMondayGuestLayout = new
javax.swing.GroupLayout(pnlMondayGuest);
pnlMondayGuest.setLayout(pnlMondayGuestLayout);
151 | P a g e
pnlMondayGuestLayout.setHorizontalGroup(
pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 581,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addGap(132, 132, 132)
.addComponent(btnAddToTableMonG, javax.swing.GroupLayout.PREFERRED_SIZE,
175, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(jScrollPane2)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addComponent(lblchooseNewMonG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78,
Short.MAX_VALUE)
.addComponent(cmbMonG, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(79, 79, 79))
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutG, javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
152 | P a g e
pnlMondayGuestLayout.setVerticalGroup(
pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G, false)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI
NE)
.addComponent(cmbMonG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblchooseNewMonG))
.addGroup(pnlMondayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(pnlMondayGuestLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(btnAddToTableMonG, javax.swing.GroupLayout.PREFERRED_SIZE,
39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlMondayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutG, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
ScheduleGuest.addTab("Monday", pnlMondayGuest);
153 | P a g e
tblTuesdayG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane6.setViewportView(tblTuesdayG);
lblchooseNewTueG.setText("Choose new person");
btnAddToTableTueG.setText("Add to table");
btnAddToTableTueG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddToTableTueGActionPerformed(evt);
}
});
txtATuesdayG.setColumns(20);
txtATuesdayG.setRows(5);
txtATuesdayG.setText("select empty slot on table\nchoose new person\npress add to table");
jScrollPane4.setViewportView(txtATuesdayG);
btnLogoutTueG.setText("Logout");
btnLogoutTueG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
154 | P a g e
btnLogoutTueGActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlTuesdayGuestLayout = new
javax.swing.GroupLayout(pnlTuesdayGuest);
pnlTuesdayGuest.setLayout(pnlTuesdayGuestLayout);
pnlTuesdayGuestLayout.setHorizontalGroup(
pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 581,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addGap(132, 132, 132)
.addComponent(btnAddToTableTueG, javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(jScrollPane4)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addComponent(lblchooseNewTueG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78,
Short.MAX_VALUE)
.addComponent(cmbTueG, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(79, 79, 79))
155 | P a g e
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutTueG, javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
pnlTuesdayGuestLayout.setVerticalGroup(
pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G, false)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI
NE)
.addComponent(cmbTueG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblchooseNewTueG))
.addGroup(pnlTuesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADIN
G)
.addGroup(pnlTuesdayGuestLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(btnAddToTableTueG, javax.swing.GroupLayout.PREFERRED_SIZE,
39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlTuesdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
156 | P a g e
.addComponent(btnLogoutTueG, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
ScheduleGuest.addTab("Tuesday", pnlTuesdayGuest);
tblWednesdayG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane7.setViewportView(tblWednesdayG);
lblchooseNewWedG.setText("Choose new person");
btnAddToTableWedG.setText("Add to table");
btnAddToTableWedG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddToTableWedGActionPerformed(evt);
}
});
txtAWednesdayG.setColumns(20);
157 | P a g e
txtAWednesdayG.setRows(5);
txtAWednesdayG.setText("select empty slot on table\nchoose new person\npress add to
table");
jScrollPane8.setViewportView(txtAWednesdayG);
btnLogoutWedG.setText("Logout");
btnLogoutWedG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLogoutWedGActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlWednesdayGuestLayout = new
javax.swing.GroupLayout(pnlWednesdayGuest);
pnlWednesdayGuest.setLayout(pnlWednesdayGuestLayout);
pnlWednesdayGuestLayout.setHorizontalGroup(
pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 581,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addGap(132, 132, 132)
.addComponent(btnAddToTableWedG, javax.swing.GroupLayout.PREFERRED_SIZE,
175, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addGap(35, 35, 35)
158 | P a g e
.addGroup(pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TR
AILING)
.addComponent(jScrollPane8)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addComponent(lblchooseNewWedG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78,
Short.MAX_VALUE)
.addComponent(cmbWedG, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(79, 79, 79))
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutWedG, javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
pnlWednesdayGuestLayout.setVerticalGroup(
pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(cmbWedG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblchooseNewWedG))
159 | P a g e
.addGroup(pnlWednesdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(pnlWednesdayGuestLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(btnAddToTableWedG, javax.swing.GroupLayout.PREFERRED_SIZE,
39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlWednesdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutWedG, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
ScheduleGuest.addTab("Wednesday", pnlWednesdayGuest);
tblThursdayG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane9.setViewportView(tblThursdayG);
160 | P a g e
lblchooseNewThursdayG.setText("Choose new person");
btnAddToTableThuG.setText("Add to table");
btnAddToTableThuG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddToTableThuGActionPerformed(evt);
}
});
txtAThursdayG.setColumns(20);
txtAThursdayG.setRows(5);
txtAThursdayG.setText("select empty slot on table\nchoose new person\npress add to table");
jScrollPane10.setViewportView(txtAThursdayG);
btnLogoutThuG.setText("Logout");
btnLogoutThuG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLogoutThuGActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlThursdayGuestLayout = new
javax.swing.GroupLayout(pnlThursdayGuest);
pnlThursdayGuest.setLayout(pnlThursdayGuestLayout);
pnlThursdayGuestLayout.setHorizontalGroup(
pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 581,
javax.swing.GroupLayout.PREFERRED_SIZE)
161 | P a g e
.addGroup(pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addGap(132, 132, 132)
.addComponent(btnAddToTableThuG, javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILI
NG)
.addComponent(jScrollPane10)
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addComponent(lblchooseNewThursdayG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78,
Short.MAX_VALUE)
.addComponent(cmbThuG, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(79, 79, 79))
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutThuG, javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
pnlThursdayGuestLayout.setVerticalGroup(
pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG, false)
162 | P a g e
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASEL
INE)
.addComponent(cmbThuG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblchooseNewThursdayG))
.addGroup(pnlThursdayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI
NG)
.addGroup(pnlThursdayGuestLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(btnAddToTableThuG, javax.swing.GroupLayout.PREFERRED_SIZE,
39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlThursdayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutThuG, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
ScheduleGuest.addTab("Thursday", pnlThursdayGuest);
tblFridayG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null},
{null, null, null, null, null, null},
{null, null, null, null, null, null},
163 | P a g e
{null, null, null, null, null, null}
},
new String [] {
"periodID", "firstname", "surname", "subject", "startTime", "endTime"
}
));
jScrollPane11.setViewportView(tblFridayG);
lblchooseNewFriG.setText("Choose new person");
btnAddToTableFriG.setText("Add to table");
btnAddToTableFriG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddToTableFriGActionPerformed(evt);
}
});
txtAFridayG.setColumns(20);
txtAFridayG.setRows(5);
txtAFridayG.setText("select empty slot on table\nchoose new person\npress add to table");
jScrollPane12.setViewportView(txtAFridayG);
btnLogoutFriG.setText("Logout");
btnLogoutFriG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLogoutFriGActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlFridayGuestLayout = new
javax.swing.GroupLayout(pnlFridayGuest);
164 | P a g e
pnlFridayGuest.setLayout(pnlFridayGuestLayout);
pnlFridayGuestLayout.setHorizontalGroup(
pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 581,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING
)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addGap(132, 132, 132)
.addComponent(btnAddToTableFriG, javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING
)
.addComponent(jScrollPane12)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addComponent(lblchooseNewFriG)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 78,
Short.MAX_VALUE)
.addComponent(cmbFriG, javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(79, 79, 79))
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutFriG, javax.swing.GroupLayout.PREFERRED_SIZE, 127,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
165 | P a g e
);
pnlFridayGuestLayout.setVerticalGroup(
pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
, false)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 113,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN
E)
.addComponent(cmbFriG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblchooseNewFriG))
.addGroup(pnlFridayGuestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGroup(pnlFridayGuestLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(btnAddToTableFriG, javax.swing.GroupLayout.PREFERRED_SIZE,
39, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlFridayGuestLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnLogoutFriG, javax.swing.GroupLayout.PREFERRED_SIZE, 40,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
166 | P a g e
ScheduleGuest.addTab("Friday", pnlFridayGuest);
tblTeachersG.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"TeacherID", "Firstname", "Surname", "subject", "email"
}
));
tblTeachersG.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblTeachersGMouseClicked(evt);
}
});
jScrollPane3.setViewportView(tblTeachersG);
lblnewteacherG.setFont(new java.awt.Font("Dialog", 0, 18)); // NOI18N
lblnewteacherG.setText("Add yourself to teachers\n");
btnAddteacherG.setText("Add new Person");
btnAddteacherG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAddteacherGActionPerformed(evt);
}
});
lblfirstnameG.setText("Firstname");
lblSurnameG.setText("Surname");
167 | P a g e
lblSubjectG.setText("Subjects");
lblEmailG.setText("Email");
cmbSubjectG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmbSubjectGActionPerformed(evt);
}
});
lblNameERR.setForeground(new java.awt.Color(255, 0, 0));
lblsurnamERR.setForeground(new java.awt.Color(255, 0, 0));
lblsubjectERR.setForeground(new java.awt.Color(255, 0, 0));
lblEmailERR.setForeground(new java.awt.Color(255, 0, 0));
javax.swing.GroupLayout pnlTeacherGLayout = new javax.swing.GroupLayout(pnlTeacherG);
pnlTeacherG.setLayout(pnlTeacherGLayout);
pnlTeacherGLayout.setHorizontalGroup(
pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addGap(22, 22, 22)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 512,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addGap(81, 81, 81)
.addComponent(btnAddteacherG, javax.swing.GroupLayout.PREFERRED_SIZE, 163,
javax.swing.GroupLayout.PREFERRED_SIZE))
168 | P a g e
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addGap(42, 42, 42)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblfirstnameG)
.addComponent(lblSurnameG)
.addComponent(lblSubjectG)
.addComponent(lblEmailG))
.addGap(73, 73, 73)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(txtFirtsnameG)
.addComponent(txtSunameG)
.addComponent(txtEmailG)
.addComponent(cmbSubjectG, 0, 131, Short.MAX_VALUE))
.addGap(34, 34, 34)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblsubjectERR, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblsurnamERR, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblNameERR, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblEmailERR, javax.swing.GroupLayout.DEFAULT_SIZE, 181,
Short.MAX_VALUE))))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pnlTeacherGLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblnewteacherG, javax.swing.GroupLayout.PREFERRED_SIZE, 240,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
169 | P a g e
);
pnlTeacherGLayout.setVerticalGroup(
pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addContainerGap()
.addComponent(lblnewteacherG, javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 334,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(pnlTeacherGLayout.createSequentialGroup()
.addGap(44, 44, 44)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblNameERR, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblfirstnameG)
.addComponent(txtFirtsnameG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblsurnamERR, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblSurnameG)
.addComponent(txtSunameG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
170 | P a g e
.addGap(18, 18, 18)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblsubjectERR, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblSubjectG)
.addComponent(cmbSubjectG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(pnlTeacherGLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblEmailG)
.addComponent(txtEmailG, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblEmailERR, javax.swing.GroupLayout.PREFERRED_SIZE, 22,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(53, 53, 53)
.addComponent(btnAddteacherG, javax.swing.GroupLayout.PREFERRED_SIZE, 41,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(141, 141, 141))))
);
ScheduleGuest.addTab("Add Guest", pnlTeacherG);
txtAGuestHelp.setColumns(20);
txtAGuestHelp.setRows(5);
jScrollPane13.setViewportView(txtAGuestHelp);
btnOkayGuestHelp.setText("OKay");
btnOkayGuestHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnOkayGuestHelpActionPerformed(evt);
171 | P a g e
}
});
btnScheduleHelp.setText("schedule help");
btnScheduleHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnScheduleHelpActionPerformed(evt);
}
});
btnGuestHelp.setText("guest help");
btnGuestHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnGuestHelpActionPerformed(evt);
}
});
btnCustomerCareGuest.setBackground(new java.awt.Color(153, 153, 153));
btnCustomerCareGuest.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
btnCustomerCareGuest.setText("customer care");
btnCustomerCareGuest.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCustomerCareGuestActionPerformed(evt);
}
});
javax.swing.GroupLayout pnlHelpLayout = new javax.swing.GroupLayout(pnlHelp);
pnlHelp.setLayout(pnlHelpLayout);
pnlHelpLayout.setHorizontalGroup(
pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
172 | P a g e
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
.addGap(396, 396, 396)
.addComponent(btnOkayGuestHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 206,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(pnlHelpLayout.createSequentialGroup()
.addGap(130, 130, 130)
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
.addGap(75, 75, 75)
.addComponent(btnScheduleHelp, javax.swing.GroupLayout.PREFERRED_SIZE,
268, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(77, 77, 77)
.addComponent(btnGuestHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 264,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(67, 67, 67)
.addComponent(btnCustomerCareGuest, javax.swing.GroupLayout.DEFAULT_SIZE,
167, Short.MAX_VALUE))
.addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 765,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap())
);
pnlHelpLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[]
{btnGuestHelp, btnScheduleHelp});
pnlHelpLayout.setVerticalGroup(
pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(pnlHelpLayout.createSequentialGroup()
173 | P a g e
.addContainerGap()
.addGroup(pnlHelpLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnGuestHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 63,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnScheduleHelp)))
.addComponent(btnCustomerCareGuest, javax.swing.GroupLayout.PREFERRED_SIZE, 38,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 298,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(btnOkayGuestHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 37,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(24, 24, 24))
);
pnlHelpLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[]
{btnGuestHelp, btnScheduleHelp});
ScheduleGuest.addTab("Help", pnlHelp);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(ScheduleGuest, javax.swing.GroupLayout.Alignment.TRAILING)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(ScheduleGuest, javax.swing.GroupLayout.Alignment.TRAILING)
);
174 | P a g e
pack();
}// </editor-fold>
private void btnAddToTableMonGActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblMondayG.getSelectedRow(); //gets selected row that user clciks
int periodID = (int) tblMondayG.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
String teacherIDcmb = tblMondayG.getValueAt(row, 3).toString(); // gets free period
String teacherSelected = cmbMonG.getSelectedItem().toString(); //gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected); //getsTeacherID from above
selectedPeriod= new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
selectedPeriod.setTeacherID(teacherID); //sets new Teacher using teacherID as unique
identifier
ScheduleManager scm = new ScheduleManager();
NotificationManager nm = new NotificationManager();
//allows guest to only edit empty slot in timeTable
if( teacherIDcmb.contains("Open")){
scm.updatePeriod(selectedPeriod);
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
scm.filltblMonday((DefaultTableModel) tblMondayG.getModel());
nm.updateNotificationMon(1);
175 | P a g e
}
else{
JOptionPane.showMessageDialog(null, "please select an empty slot", "MY_SCHED", 1);
}
}
private void btnLogoutGActionPerformed(java.awt.event.ActionEvent evt) {
//opens Login Screen
new Login().setVisible(true);
dispose(); //closes prevois screen
}
private void tblTeachersGMouseClicked(java.awt.event.MouseEvent evt) {
}
private void btnAddteacherGActionPerformed(java.awt.event.ActionEvent evt) {
//gettting all information from textFields in teacher Screen
String Firstname = txtFirtsnameG.getText();
String Surname = txtSunameG.getText();
String Subject = cmbSubjectG.getSelectedItem().toString();
String Email = txtEmailG.getText();
//validates data
DataValidation tdv = new DataValidation ();
176 | P a g e
tdv.checkName(Firstname, lblNameERR);
tdv.checkSName(Surname, lblsurnamERR);
tdv.checkSubject(Subject, lblsubjectERR);
tdv.checkEmail(Email, lblEmailERR);
//edits teacher Object
Teacher teacher = new Teacher(Firstname, Surname, Subject, Email);
teacherManager tm = new teacherManager();
ScheduleManager sm = new ScheduleManager();
//if data is valid allows addition to table
if(tdv.isValid()){
tm.addTeacher(teacher);
JOptionPane.showMessageDialog(null, "Guest Added succesfully", "MY_SCHED", 1);
tm.filltblTeacher((DefaultTableModel) tblTeachersG.getModel()); //Refreshes table teachers
sm.fillComboBoxWithNameG(cmbMonG, cmbTueG, cmbWedG, cmbThuG, cmbFriG);
}
//if data is invalid dont allow addition
else{
JOptionPane.showMessageDialog(null, "Unable to add teacher", "MY_SCHED", 0);
}
}
private void btnAddToTableTueGActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblTuesdayG.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblTuesdayG.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
177 | P a g e
String teacherIDcmb = tblTuesdayG.getValueAt(row, 3).toString(); // gets free period
String teacherSelected = cmbTueG.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod = new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
selectedPeriod.setTeacherID(teacherID);//sets new Teacher using teacherID as unique identifier
ScheduleManager scm = new ScheduleManager();
NotificationManager nm = new NotificationManager();
//allows guest to only edit empty slot in timeTable
if( teacherIDcmb.contains("Open")){
scm.updatePeriodTue(selectedPeriod);
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
scm.filltblTuesday((DefaultTableModel) tblTuesdayG.getModel());
nm.updateNotificationTue(1);
}
else{
JOptionPane.showMessageDialog(null, "please select an empty slot", "MY_SCHED", 1);
}
}
178 | P a g e
private void btnLogoutTueGActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);
dispose();
}
private void btnAddToTableWedGActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblWednesdayG.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblWednesdayG.getValueAt(row, 0); //gets periodID so that code knows
which row to change in SQL
String teacherIDcmb = tblWednesdayG.getValueAt(row, 3).toString(); // gets free period
String teacherSelected = cmbWedG.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod= new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
selectedPeriod.setTeacherID(teacherID);//sets new Teacher using teacherID as unique identifier
ScheduleManager scm = new ScheduleManager();
NotificationManager nm = new NotificationManager();
//allows guest to only edit empty slot in timeTable
if(teacherIDcmb.contains("Open")){
179 | P a g e
scm.updatePeriodWed(selectedPeriod);
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
scm.filltblWednesday((DefaultTableModel) tblWednesdayG.getModel());
nm.updateNotificationWed(1);
}
else{
JOptionPane.showMessageDialog(null, "please select and empty slot", "MY_SCHED", 1);
}
}
private void btnLogoutWedGActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);
dispose();
}
private void btnAddToTableThuGActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblThursdayG.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblThursdayG.getValueAt(row, 0); //gets periodID so that code knows which
row to change in SQL
String teacherIDcmb = tblThursdayG.getValueAt(row, 3).toString(); // gets free period
String teacherSelected = cmbThuG.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
180 | P a g e
selectedPeriod= new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
selectedPeriod.setTeacherID(teacherID);//sets new Teacher using teacherID as unique identifier
ScheduleManager scm = new ScheduleManager();
NotificationManager nm = new NotificationManager();
//allows guest to only edit empty slot in timeTable
if(teacherIDcmb.contains("Open")){
scm.updatePeriodThu(selectedPeriod);
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
scm.filltblthursday((DefaultTableModel) tblThursdayG.getModel());
nm.updateNotificationThu(1);
}
else{
JOptionPane.showMessageDialog(null, "please select an empty slot", "MY_SCHED", 1);
}
}
private void btnLogoutThuGActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);
dispose();
}
private void btnAddToTableFriGActionPerformed(java.awt.event.ActionEvent evt) {
int row = tblFridayG.getSelectedRow();//gets selected row that user clciks
int periodID = (int) tblFridayG.getValueAt(row, 0); //gets periodID so that code knows which row
to change in SQL
181 | P a g e
String teacherIDcmb = tblFridayG.getValueAt(row, 3).toString(); // gets free period
String teacherSelected = cmbFriG.getSelectedItem().toString();//gets info from comboBox
teacherManager tm = new teacherManager();
int teacherID = tm.getTeacherIDByName(teacherSelected);//getsTeacherID from above
selectedPeriod= new UpdatePerson(periodID, teacherID); //takes this input to the
periodManager for SQL statement
selectedPeriod.setTeacherID(teacherID);//sets new Teacher using teacherID as unique identifier
ScheduleManager scm = new ScheduleManager();
NotificationManager nm = new NotificationManager();
//allows guest to only edit empty slot in timeTable
if(teacherIDcmb.contains("Open")){
scm.updatePeriodFri(selectedPeriod);
JOptionPane.showMessageDialog(null, "schedule has been updated","MY_SCHED", 1);
scm.filltblFriday((DefaultTableModel) tblFridayG.getModel());
nm.updateNotificationFri(1);
}
else{
JOptionPane.showMessageDialog(null, "please select and empty slot", "MY_SCHED", 1);
}
182 | P a g e
}
private void btnLogoutFriGActionPerformed(java.awt.event.ActionEvent evt) {
new Login().setVisible(true);
dispose();
}
private void cmbSubjectGActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btnCustomerCareGuestActionPerformed(java.awt.event.ActionEvent evt) {
new CustomerCare().setVisible(true);
}
private void btnGuestHelpActionPerformed(java.awt.event.ActionEvent evt) {
String GuestHelp = "This is the guest help \n\n If you are unable to add a new guest / teacher,
please make sure you have entered all the information correctly and checked that the \ninformation
entered is validated. There will be red error messages if the data isn't valid. \n\n Please contact
customerCare for more help";
txtAGuestHelp.setText(GuestHelp);
}
private void btnScheduleHelpActionPerformed(java.awt.event.ActionEvent evt) {
String ScheduleHelp = "This is the Schedule help \n\nIf you are unable to add yourself into the
schedule, please make sure you have selected an empty slot.\n\nPlease contact CostomerCare for
more help";
txtAGuestHelp.setText(ScheduleHelp);
}
private void btnOkayGuestHelpActionPerformed(java.awt.event.ActionEvent evt) {
txtAGuestHelp.setText("");
}
183 | P a g e
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GuestScreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GuestScreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GuestScreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GuestScreen.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
184 | P a g e
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GuestScreen().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTabbedPane ScheduleGuest;
private javax.swing.JButton btnAddToTableFriG;
private javax.swing.JButton btnAddToTableMonG;
private javax.swing.JButton btnAddToTableThuG;
private javax.swing.JButton btnAddToTableTueG;
private javax.swing.JButton btnAddToTableWedG;
private javax.swing.JButton btnAddteacherG;
private javax.swing.JButton btnCustomerCareGuest;
private javax.swing.JButton btnGuestHelp;
private javax.swing.JButton btnLogoutFriG;
private javax.swing.JButton btnLogoutG;
private javax.swing.JButton btnLogoutThuG;
private javax.swing.JButton btnLogoutTueG;
private javax.swing.JButton btnLogoutWedG;
private javax.swing.JButton btnOkayGuestHelp;
private javax.swing.JButton btnScheduleHelp;
private javax.swing.JComboBox<String> cmbFriG;
private javax.swing.JComboBox<String> cmbMonG;
private javax.swing.JComboBox<String> cmbSubjectG;
185 | P a g e
private javax.swing.JComboBox<String> cmbThuG;
private javax.swing.JComboBox<String> cmbTueG;
private javax.swing.JComboBox<String> cmbWedG;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane10;
private javax.swing.JScrollPane jScrollPane11;
private javax.swing.JScrollPane jScrollPane12;
private javax.swing.JScrollPane jScrollPane13;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JScrollPane jScrollPane7;
private javax.swing.JScrollPane jScrollPane8;
private javax.swing.JScrollPane jScrollPane9;
private javax.swing.JTable jTable1;
private javax.swing.JLabel lblEmailERR;
private javax.swing.JLabel lblEmailG;
private javax.swing.JLabel lblNameERR;
private javax.swing.JLabel lblSubjectG;
private javax.swing.JLabel lblSurnameG;
private javax.swing.JLabel lblchooseNewFriG;
private javax.swing.JLabel lblchooseNewMonG;
private javax.swing.JLabel lblchooseNewThursdayG;
private javax.swing.JLabel lblchooseNewTueG;
private javax.swing.JLabel lblchooseNewWedG;
private javax.swing.JLabel lblfirstnameG;
private javax.swing.JLabel lblnewteacherG;
private javax.swing.JLabel lblsubjectERR;
private javax.swing.JLabel lblsurnamERR;
186 | P a g e
private javax.swing.JPanel pnlFridayGuest;
private javax.swing.JPanel pnlHelp;
private javax.swing.JPanel pnlMondayGuest;
private javax.swing.JPanel pnlTeacherG;
private javax.swing.JPanel pnlThursdayGuest;
private javax.swing.JPanel pnlTuesdayGuest;
private javax.swing.JPanel pnlWednesdayGuest;
private javax.swing.JTable tblFridayG;
private javax.swing.JTable tblMondayG;
private javax.swing.JTable tblTeachersG;
private javax.swing.JTable tblThursdayG;
private javax.swing.JTable tblTuesdayG;
private javax.swing.JTable tblWednesdayG;
private javax.swing.JTextArea txtAFridayG;
private javax.swing.JTextArea txtAGuestHelp;
private javax.swing.JTextArea txtAMondayG;
private javax.swing.JTextArea txtAThursdayG;
private javax.swing.JTextArea txtATuesdayG;
private javax.swing.JTextArea txtAWednesdayG;
private javax.swing.JTextField txtEmailG;
private javax.swing.JTextField txtFirtsnameG;
private javax.swing.JTextField txtSunameG;
// End of variables declaration
}
187 | P a g e
Download