├── .DS_Store
├── .gitignore
├── README.md
├── build.xml
├── build
├── built-jar.properties
└── classes
│ └── com
│ ├── data_structure
│ ├── AbstractContainer$1.class
│ ├── AbstractContainer.class
│ ├── AbstractVisitor.class
│ ├── Association.class
│ ├── Container.class
│ ├── ContainerFullException.class
│ ├── DBConnect.class
│ ├── DBConnect1.class
│ ├── Iterator.class
│ ├── MethodNotImplemented.class
│ ├── MyContainer$1.class
│ ├── MyContainer.class
│ ├── MySearchableContainer.class
│ ├── MyTable.class
│ ├── PrintingVisitor.class
│ ├── ResultSetTableModel.class
│ ├── SearchableContainer.class
│ ├── Visitor.class
│ └── Visitor1.class
│ ├── genetic_algorithm_resource
│ ├── Class.class
│ ├── Course.class
│ ├── Department.class
│ ├── Instructor.class
│ ├── MeetingTime.class
│ └── Room.class
│ ├── gui
│ ├── AddCourse$1.class
│ ├── AddCourse$2.class
│ ├── AddCourse.class
│ ├── AddLecturer$1.class
│ ├── AddLecturer$2.class
│ ├── AddLecturer.class
│ ├── AddVenue$1.class
│ ├── AddVenue$2.class
│ ├── AddVenue.class
│ ├── EditCourse$1.class
│ ├── EditCourse$2.class
│ ├── EditCourse$3.class
│ ├── EditCourse.class
│ ├── EditLecturer$1.class
│ ├── EditLecturer$2.class
│ ├── EditLecturer$3.class
│ ├── EditLecturer.class
│ ├── EditVenue$1.class
│ ├── EditVenue$2.class
│ ├── EditVenue$3.class
│ ├── EditVenue.class
│ ├── GenerateTimeTable$1.class
│ ├── GenerateTimeTable$2.class
│ ├── GenerateTimeTable.class
│ ├── MainMenu$1.class
│ ├── MainMenu$10.class
│ ├── MainMenu$11.class
│ ├── MainMenu$12.class
│ ├── MainMenu$13.class
│ ├── MainMenu$14.class
│ ├── MainMenu$15.class
│ ├── MainMenu$16.class
│ ├── MainMenu$17.class
│ ├── MainMenu$18.class
│ ├── MainMenu$19.class
│ ├── MainMenu$2.class
│ ├── MainMenu$20.class
│ ├── MainMenu$21.class
│ ├── MainMenu$22.class
│ ├── MainMenu$23.class
│ ├── MainMenu$24.class
│ ├── MainMenu$25.class
│ ├── MainMenu$26.class
│ ├── MainMenu$27.class
│ ├── MainMenu$28.class
│ ├── MainMenu$29.class
│ ├── MainMenu$3.class
│ ├── MainMenu$30.class
│ ├── MainMenu$31.class
│ ├── MainMenu$32.class
│ ├── MainMenu$33.class
│ ├── MainMenu$34.class
│ ├── MainMenu$35.class
│ ├── MainMenu$36.class
│ ├── MainMenu$37.class
│ ├── MainMenu$38.class
│ ├── MainMenu$39.class
│ ├── MainMenu$4.class
│ ├── MainMenu$40.class
│ ├── MainMenu$41.class
│ ├── MainMenu$42.class
│ ├── MainMenu$43.class
│ ├── MainMenu$44.class
│ ├── MainMenu$45.class
│ ├── MainMenu$46.class
│ ├── MainMenu$47.class
│ ├── MainMenu$5.class
│ ├── MainMenu$6.class
│ ├── MainMenu$7.class
│ ├── MainMenu$8.class
│ ├── MainMenu$9.class
│ ├── MainMenu.class
│ ├── ProfileClassCourses$1.class
│ ├── ProfileClassCourses$2.class
│ ├── ProfileClassCourses$3.class
│ ├── ProfileClassCourses$4.class
│ ├── ProfileClassCourses.class
│ ├── ProfileCourseInstructor$1.class
│ ├── ProfileCourseInstructor$2.class
│ ├── ProfileCourseInstructor$3.class
│ ├── ProfileCourseInstructor$4.class
│ ├── ProfileCourseInstructor.class
│ ├── ViewClass$1.class
│ ├── ViewClass.class
│ ├── ViewCourse$1.class
│ ├── ViewCourse$2.class
│ ├── ViewCourse$3.class
│ ├── ViewCourse$4.class
│ ├── ViewCourse.class
│ ├── ViewLecturer$1.class
│ ├── ViewLecturer$2.class
│ ├── ViewLecturer$3.class
│ ├── ViewLecturer$4.class
│ ├── ViewLecturer.class
│ ├── ViewMeetingTime$1.class
│ ├── ViewMeetingTime.class
│ ├── ViewVenue$1.class
│ ├── ViewVenue$2.class
│ ├── ViewVenue$3.class
│ ├── ViewVenue$4.class
│ └── ViewVenue.class
│ ├── image
│ └── ico
│ │ ├── Add16.gif
│ │ ├── AdminLTELogo.png
│ │ ├── Edit16.gif
│ │ ├── Exit16.gif
│ │ ├── Import16.gif
│ │ ├── List16.gif
│ │ ├── Untitled.jpg
│ │ ├── boxdownload32.jpg
│ │ ├── boxupload32.jpg
│ │ └── leftturnarrow32.jpg
│ └── timetable
│ ├── Data.class
│ ├── Driver.class
│ ├── GeneticAlgorithm.class
│ ├── Population.class
│ └── Schedule.class
├── db
└── time_table_scheduling.sql
├── dist
├── README.TXT
├── Time Table Scheduling System.jar
└── lib
│ ├── AbsoluteLayout.jar
│ ├── jcalendar-1.4.jar
│ └── mysql-connector.jar
├── library
├── jcalendar-1.4.jar
└── mysql-connector.jar
├── manifest.mf
├── nbproject
├── build-impl.xml
├── genfiles.properties
├── private
│ ├── config.properties
│ ├── private.properties
│ └── private.xml
├── project.properties
└── project.xml
└── src
└── com
├── data_structure
├── AbstractContainer.java
├── AbstractVisitor.java
├── Association.java
├── Container.java
├── ContainerFullException.java
├── DBConnect.java
├── DBConnect1.java
├── Iterator.java
├── MethodNotImplemented.java
├── MyContainer.java
├── MySearchableContainer.java
├── MyTable.java
├── PrintingVisitor.java
├── ResultSetTableModel.java
├── SearchableContainer.java
├── Visitor.java
└── Visitor1.java
├── genetic_algorithm_resource
├── Class.java
├── Course.java
├── Department.java
├── Instructor.java
├── MeetingTime.java
└── Room.java
├── gui
├── AddCourse.form
├── AddCourse.java
├── AddLecturer.form
├── AddLecturer.java
├── AddVenue.form
├── AddVenue.java
├── EditCourse.form
├── EditCourse.java
├── EditLecturer.form
├── EditLecturer.java
├── EditVenue.form
├── EditVenue.java
├── GenerateTimeTable.form
├── GenerateTimeTable.java
├── MainMenu.form
├── MainMenu.java
├── ProfileClassCourses.form
├── ProfileClassCourses.java
├── ProfileCourseInstructor.form
├── ProfileCourseInstructor.java
├── ViewClass.form
├── ViewClass.java
├── ViewCourse.form
├── ViewCourse.java
├── ViewLecturer.form
├── ViewLecturer.java
├── ViewMeetingTime.form
├── ViewMeetingTime.java
├── ViewVenue.form
└── ViewVenue.java
├── image
└── ico
│ ├── Add16.gif
│ ├── AdminLTELogo.png
│ ├── Edit16.gif
│ ├── Exit16.gif
│ ├── Import16.gif
│ ├── List16.gif
│ ├── Untitled.jpg
│ ├── boxdownload32.jpg
│ ├── boxupload32.jpg
│ └── leftturnarrow32.jpg
└── timetable
├── Data.java
├── Driver.java
├── GeneticAlgorithm.java
├── Population.java
└── Schedule.java
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /shots
2 | /Test
3 | /nbproject
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GUI based Time table scheduling system using Genetic Algorithm (Java)
2 |
3 | ## Installation Process
4 |
5 | i. Create a database with the name "time_table_scheduling" then import file time_table_scheduling.sql in the /db folder to the newly created database
6 |
7 | ii. To run the executable jar file in the /dist folder, you need to install a JDK 1.8 or later
8 |
9 | ## Go ahead and try out the features of the application by double clicking on the jar file named Time Table Scheduling in the /dist folder
10 |
11 | ## Credits to Pranav Khurana for some genetic algorithms that became very useful in development of this project
12 |
13 | ## Thank you
14 | If you find this code interesting or useful, kindly click on the like button and follow me for more.
15 |
--------------------------------------------------------------------------------
/build.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Builds, tests, and runs the project Time Table Scheduling.
12 |
13 |
73 |
74 |
--------------------------------------------------------------------------------
/build/built-jar.properties:
--------------------------------------------------------------------------------
1 | #Fri, 24 Aug 2018 04:20:19 +0100
2 |
3 |
4 | C\:\\Users\\USER\\Documents\\Programming\\NetBeansProjects\\Time\ Table\ Scheduling=
5 |
--------------------------------------------------------------------------------
/build/classes/com/data_structure/AbstractContainer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/AbstractContainer$1.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/AbstractContainer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/AbstractContainer.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/AbstractVisitor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/AbstractVisitor.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/Association.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/Association.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/Container.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/Container.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/ContainerFullException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/ContainerFullException.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/DBConnect.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/DBConnect.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/DBConnect1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/DBConnect1.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/Iterator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/Iterator.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/MethodNotImplemented.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/MethodNotImplemented.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/MyContainer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/MyContainer$1.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/MyContainer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/MyContainer.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/MySearchableContainer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/MySearchableContainer.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/MyTable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/MyTable.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/PrintingVisitor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/PrintingVisitor.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/ResultSetTableModel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/ResultSetTableModel.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/SearchableContainer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/SearchableContainer.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/Visitor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/Visitor.class
--------------------------------------------------------------------------------
/build/classes/com/data_structure/Visitor1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/data_structure/Visitor1.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/Class.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/Class.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/Course.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/Course.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/Department.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/Department.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/Instructor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/Instructor.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/MeetingTime.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/MeetingTime.class
--------------------------------------------------------------------------------
/build/classes/com/genetic_algorithm_resource/Room.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/genetic_algorithm_resource/Room.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddCourse$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddCourse$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddCourse$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddCourse$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddCourse.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddCourse.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddLecturer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddLecturer$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddLecturer$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddLecturer$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddLecturer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddLecturer.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddVenue$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddVenue$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddVenue$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddVenue$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/AddVenue.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/AddVenue.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditCourse$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditCourse$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditCourse$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditCourse$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditCourse$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditCourse$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditCourse.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditCourse.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditLecturer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditLecturer$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditLecturer$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditLecturer$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditLecturer$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditLecturer$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditLecturer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditLecturer.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditVenue$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditVenue$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditVenue$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditVenue$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditVenue$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditVenue$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/EditVenue.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/EditVenue.class
--------------------------------------------------------------------------------
/build/classes/com/gui/GenerateTimeTable$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/GenerateTimeTable$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/GenerateTimeTable$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/GenerateTimeTable$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/GenerateTimeTable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/GenerateTimeTable.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$10.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$10.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$11.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$11.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$12.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$12.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$13.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$13.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$14.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$14.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$15.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$15.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$16.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$16.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$17.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$17.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$18.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$18.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$19.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$19.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$20.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$20.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$21.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$21.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$22.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$22.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$23.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$23.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$24.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$24.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$25.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$25.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$26.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$26.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$27.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$27.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$28.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$28.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$29.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$29.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$30.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$30.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$31.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$31.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$32.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$32.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$33.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$33.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$34.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$34.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$35.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$35.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$36.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$36.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$37.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$37.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$38.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$38.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$39.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$39.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$40.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$40.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$41.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$41.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$42.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$42.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$43.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$43.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$44.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$44.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$45.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$45.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$46.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$46.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$47.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$47.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$5.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$6.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$6.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$7.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$7.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$8.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$8.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu$9.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu$9.class
--------------------------------------------------------------------------------
/build/classes/com/gui/MainMenu.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/MainMenu.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileClassCourses$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileClassCourses$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileClassCourses$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileClassCourses$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileClassCourses$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileClassCourses$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileClassCourses$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileClassCourses$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileClassCourses.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileClassCourses.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileCourseInstructor$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileCourseInstructor$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileCourseInstructor$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileCourseInstructor$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileCourseInstructor$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileCourseInstructor$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileCourseInstructor$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileCourseInstructor$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ProfileCourseInstructor.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ProfileCourseInstructor.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewClass$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewClass$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewClass.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewClass.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewCourse$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewCourse$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewCourse$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewCourse$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewCourse$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewCourse$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewCourse$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewCourse$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewCourse.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewCourse.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewLecturer$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewLecturer$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewLecturer$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewLecturer$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewLecturer$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewLecturer$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewLecturer$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewLecturer$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewLecturer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewLecturer.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewMeetingTime$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewMeetingTime$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewMeetingTime.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewMeetingTime.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewVenue$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewVenue$1.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewVenue$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewVenue$2.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewVenue$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewVenue$3.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewVenue$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewVenue$4.class
--------------------------------------------------------------------------------
/build/classes/com/gui/ViewVenue.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/gui/ViewVenue.class
--------------------------------------------------------------------------------
/build/classes/com/image/ico/Add16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/Add16.gif
--------------------------------------------------------------------------------
/build/classes/com/image/ico/AdminLTELogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/AdminLTELogo.png
--------------------------------------------------------------------------------
/build/classes/com/image/ico/Edit16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/Edit16.gif
--------------------------------------------------------------------------------
/build/classes/com/image/ico/Exit16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/Exit16.gif
--------------------------------------------------------------------------------
/build/classes/com/image/ico/Import16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/Import16.gif
--------------------------------------------------------------------------------
/build/classes/com/image/ico/List16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/List16.gif
--------------------------------------------------------------------------------
/build/classes/com/image/ico/Untitled.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/Untitled.jpg
--------------------------------------------------------------------------------
/build/classes/com/image/ico/boxdownload32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/boxdownload32.jpg
--------------------------------------------------------------------------------
/build/classes/com/image/ico/boxupload32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/boxupload32.jpg
--------------------------------------------------------------------------------
/build/classes/com/image/ico/leftturnarrow32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/image/ico/leftturnarrow32.jpg
--------------------------------------------------------------------------------
/build/classes/com/timetable/Data.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/timetable/Data.class
--------------------------------------------------------------------------------
/build/classes/com/timetable/Driver.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/timetable/Driver.class
--------------------------------------------------------------------------------
/build/classes/com/timetable/GeneticAlgorithm.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/timetable/GeneticAlgorithm.class
--------------------------------------------------------------------------------
/build/classes/com/timetable/Population.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/timetable/Population.class
--------------------------------------------------------------------------------
/build/classes/com/timetable/Schedule.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/build/classes/com/timetable/Schedule.class
--------------------------------------------------------------------------------
/db/time_table_scheduling.sql:
--------------------------------------------------------------------------------
1 | -- phpMyAdmin SQL Dump
2 | -- version 4.6.5.2
3 | -- https://www.phpmyadmin.net/
4 | --
5 | -- Host: 127.0.0.1
6 | -- Generation Time: Aug 24, 2018 at 05:18 AM
7 | -- Server version: 10.1.21-MariaDB
8 | -- PHP Version: 7.1.1
9 |
10 | SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
11 | SET time_zone = "+00:00";
12 |
13 |
14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
17 | /*!40101 SET NAMES utf8mb4 */;
18 |
19 | --
20 | -- Database: `time_table_scheduling`
21 | --
22 |
23 | -- --------------------------------------------------------
24 |
25 | --
26 | -- Table structure for table `app_user`
27 | --
28 |
29 | CREATE TABLE `app_user` (
30 | `user_id` int(11) NOT NULL,
31 | `username` varchar(100) NOT NULL,
32 | `firstname` varchar(100) NOT NULL,
33 | `lastname` varchar(100) NOT NULL,
34 | `password` varchar(100) NOT NULL
35 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
36 |
37 | --
38 | -- Dumping data for table `app_user`
39 | --
40 |
41 | INSERT INTO `app_user` (`user_id`, `username`, `firstname`, `lastname`, `password`) VALUES
42 | (1, 'muhammad', 'Muhammad', '', 'muhammad');
43 |
44 | -- --------------------------------------------------------
45 |
46 | --
47 | -- Table structure for table `class`
48 | --
49 |
50 | CREATE TABLE `class` (
51 | `class_id` int(11) NOT NULL,
52 | `class_name` varchar(100) NOT NULL
53 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
54 |
55 | --
56 | -- Dumping data for table `class`
57 | --
58 |
59 | INSERT INTO `class` (`class_id`, `class_name`) VALUES
60 | (1, '100 Level'),
61 | (2, '200 Level'),
62 | (3, '300 Level'),
63 | (4, '400 Level');
64 |
65 | -- --------------------------------------------------------
66 |
67 | --
68 | -- Table structure for table `class_courses`
69 | --
70 |
71 | CREATE TABLE `class_courses` (
72 | `id` int(11) NOT NULL,
73 | `course_id` int(11) NOT NULL,
74 | `class_id` int(11) NOT NULL
75 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
76 |
77 | -- --------------------------------------------------------
78 |
79 | --
80 | -- Table structure for table `class_room`
81 | --
82 |
83 | CREATE TABLE `class_room` (
84 | `class_room_id` int(11) NOT NULL,
85 | `class_room_name` varchar(100) NOT NULL,
86 | `space_capacity` int(11) NOT NULL
87 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
88 |
89 | -- --------------------------------------------------------
90 |
91 | --
92 | -- Table structure for table `course`
93 | --
94 |
95 | CREATE TABLE `course` (
96 | `course_id` int(11) NOT NULL,
97 | `course_name` varchar(100) NOT NULL,
98 | `maximum_number_of_student` int(11) NOT NULL
99 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
100 |
101 | -- --------------------------------------------------------
102 |
103 | --
104 | -- Table structure for table `course_instructor`
105 | --
106 |
107 | CREATE TABLE `course_instructor` (
108 | `id` int(11) NOT NULL,
109 | `course_id` int(11) NOT NULL,
110 | `instructor_id` int(11) NOT NULL
111 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
112 |
113 | -- --------------------------------------------------------
114 |
115 | --
116 | -- Table structure for table `instructor`
117 | --
118 |
119 | CREATE TABLE `instructor` (
120 | `instructor_id` int(11) NOT NULL,
121 | `instructor_name` varchar(100) NOT NULL,
122 | `phone` varchar(50) NOT NULL,
123 | `gender` varchar(10) NOT NULL
124 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
125 |
126 | -- --------------------------------------------------------
127 |
128 | --
129 | -- Table structure for table `meeting_time`
130 | --
131 |
132 | CREATE TABLE `meeting_time` (
133 | `time_id` int(11) NOT NULL,
134 | `time_title` varchar(100) NOT NULL
135 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
136 |
137 | --
138 | -- Dumping data for table `meeting_time`
139 | --
140 |
141 | INSERT INTO `meeting_time` (`time_id`, `time_title`) VALUES
142 | (1, 'MON: 08 AM -- 09 AM'),
143 | (2, 'MON: 09 AM -- 10 AM'),
144 | (3, 'MON: 10 AM -- 11 AM'),
145 | (4, 'MON: 11 AM -- 12 PM'),
146 | (5, 'MON: 12 AM -- 01 PM'),
147 | (7, 'MON: 02 PM -- 03 PM'),
148 | (8, 'MON: 03 PM -- 04 PM'),
149 | (9, 'MON: 04 PM -- 05 PM'),
150 | (10, 'MON: 05 PM -- 06 PM'),
151 | (11, 'TUE: 08 AM -- 09 AM'),
152 | (12, 'TUE: 09 AM -- 10 AM'),
153 | (13, 'TUE: 10 AM -- 11 AM'),
154 | (14, 'TUE: 11 AM -- 12 PM'),
155 | (15, 'TUE: 12 AM -- 01 PM'),
156 | (16, 'TUE: 02 PM -- 03 PM'),
157 | (17, 'TUE: 03 PM -- 04 PM'),
158 | (18, 'TUE: 04 PM -- 05 PM'),
159 | (19, 'TUE: 05 PM -- 06 PM'),
160 | (20, 'WED: 08 AM -- 09 AM'),
161 | (21, 'WED: 09 AM -- 10 AM'),
162 | (22, 'WED: 10 AM -- 11 AM'),
163 | (23, 'WED: 11 AM -- 12 PM'),
164 | (24, 'WED: 12 AM -- 01 PM'),
165 | (25, 'WED: 02 PM -- 03 PM'),
166 | (26, 'WED: 03 PM -- 04 PM'),
167 | (27, 'WED: 04 PM -- 05 PM'),
168 | (28, 'WED: 05 PM -- 06 PM'),
169 | (29, 'THU: 08 AM -- 09 AM'),
170 | (30, 'THU: 09 AM -- 10 AM'),
171 | (31, 'THU: 10 AM -- 11 AM'),
172 | (32, 'THU: 11 AM -- 12 PM'),
173 | (33, 'THU: 12 AM -- 01 PM'),
174 | (34, 'THU: 02 PM -- 03 PM'),
175 | (35, 'THU: 03 PM -- 04 PM'),
176 | (36, 'THU: 04 PM -- 05 PM'),
177 | (37, 'THU: 05 PM -- 06 PM'),
178 | (38, 'FRI: 08 AM -- 09 AM'),
179 | (39, 'FRI: 09 AM -- 10 AM'),
180 | (40, 'FRI: 10 AM -- 11 AM'),
181 | (41, 'FRI: 11 AM -- 12 PM'),
182 | (42, 'FRI: 12 AM -- 01 PM'),
183 | (43, 'FRI: 02 PM -- 03 PM'),
184 | (44, 'FRI: 03 PM -- 04 PM'),
185 | (45, 'FRI: 04 PM -- 05 PM'),
186 | (46, 'FRI: 05 PM -- 06 PM');
187 |
188 | --
189 | -- Indexes for dumped tables
190 | --
191 |
192 | --
193 | -- Indexes for table `app_user`
194 | --
195 | ALTER TABLE `app_user`
196 | ADD PRIMARY KEY (`user_id`);
197 |
198 | --
199 | -- Indexes for table `class`
200 | --
201 | ALTER TABLE `class`
202 | ADD PRIMARY KEY (`class_id`);
203 |
204 | --
205 | -- Indexes for table `class_courses`
206 | --
207 | ALTER TABLE `class_courses`
208 | ADD PRIMARY KEY (`id`),
209 | ADD KEY `class_courses_ibfk_1` (`course_id`),
210 | ADD KEY `class_courses_ibfk_2` (`class_id`);
211 |
212 | --
213 | -- Indexes for table `class_room`
214 | --
215 | ALTER TABLE `class_room`
216 | ADD PRIMARY KEY (`class_room_id`);
217 |
218 | --
219 | -- Indexes for table `course`
220 | --
221 | ALTER TABLE `course`
222 | ADD PRIMARY KEY (`course_id`);
223 |
224 | --
225 | -- Indexes for table `course_instructor`
226 | --
227 | ALTER TABLE `course_instructor`
228 | ADD PRIMARY KEY (`id`),
229 | ADD KEY `course_instructor_ibfk_1` (`course_id`),
230 | ADD KEY `course_instructor_ibfk_2` (`instructor_id`);
231 |
232 | --
233 | -- Indexes for table `instructor`
234 | --
235 | ALTER TABLE `instructor`
236 | ADD PRIMARY KEY (`instructor_id`);
237 |
238 | --
239 | -- Indexes for table `meeting_time`
240 | --
241 | ALTER TABLE `meeting_time`
242 | ADD PRIMARY KEY (`time_id`);
243 |
244 | --
245 | -- AUTO_INCREMENT for dumped tables
246 | --
247 |
248 | --
249 | -- AUTO_INCREMENT for table `app_user`
250 | --
251 | ALTER TABLE `app_user`
252 | MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
253 | --
254 | -- AUTO_INCREMENT for table `class`
255 | --
256 | ALTER TABLE `class`
257 | MODIFY `class_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
258 | --
259 | -- AUTO_INCREMENT for table `class_courses`
260 | --
261 | ALTER TABLE `class_courses`
262 | MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
263 | --
264 | -- AUTO_INCREMENT for table `class_room`
265 | --
266 | ALTER TABLE `class_room`
267 | MODIFY `class_room_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
268 | --
269 | -- AUTO_INCREMENT for table `course`
270 | --
271 | ALTER TABLE `course`
272 | MODIFY `course_id` int(11) NOT NULL AUTO_INCREMENT;
273 | --
274 | -- AUTO_INCREMENT for table `course_instructor`
275 | --
276 | ALTER TABLE `course_instructor`
277 | MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
278 | --
279 | -- AUTO_INCREMENT for table `instructor`
280 | --
281 | ALTER TABLE `instructor`
282 | MODIFY `instructor_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;
283 | --
284 | -- AUTO_INCREMENT for table `meeting_time`
285 | --
286 | ALTER TABLE `meeting_time`
287 | MODIFY `time_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=47;
288 | --
289 | -- Constraints for dumped tables
290 | --
291 |
292 | --
293 | -- Constraints for table `class_courses`
294 | --
295 | ALTER TABLE `class_courses`
296 | ADD CONSTRAINT `class_courses_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE CASCADE ON UPDATE CASCADE,
297 | ADD CONSTRAINT `class_courses_ibfk_2` FOREIGN KEY (`class_id`) REFERENCES `class` (`class_id`) ON DELETE CASCADE ON UPDATE CASCADE;
298 |
299 | --
300 | -- Constraints for table `course_instructor`
301 | --
302 | ALTER TABLE `course_instructor`
303 | ADD CONSTRAINT `course_instructor_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE CASCADE ON UPDATE CASCADE,
304 | ADD CONSTRAINT `course_instructor_ibfk_2` FOREIGN KEY (`instructor_id`) REFERENCES `instructor` (`instructor_id`) ON DELETE CASCADE ON UPDATE CASCADE;
305 |
306 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
307 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
308 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
309 |
--------------------------------------------------------------------------------
/dist/README.TXT:
--------------------------------------------------------------------------------
1 | ========================
2 | BUILD OUTPUT DESCRIPTION
3 | ========================
4 |
5 | When you build an Java application project that has a main class, the IDE
6 | automatically copies all of the JAR
7 | files on the projects classpath to your projects dist/lib folder. The IDE
8 | also adds each of the JAR files to the Class-Path element in the application
9 | JAR files manifest file (MANIFEST.MF).
10 |
11 | To run the project from the command line, go to the dist folder and
12 | type the following:
13 |
14 | java -jar "Time_Table_Scheduling.jar"
15 |
16 | To distribute this project, zip up the dist folder (including the lib folder)
17 | and distribute the ZIP file.
18 |
19 | Notes:
20 |
21 | * If two JAR files on the project classpath have the same name, only the first
22 | JAR file is copied to the lib folder.
23 | * Only JAR files are copied to the lib folder.
24 | If the classpath contains other types of files or folders, these files (folders)
25 | are not copied.
26 | * If a library on the projects classpath also has a Class-Path element
27 | specified in the manifest,the content of the Class-Path element has to be on
28 | the projects runtime path.
29 | * To set a main class in a standard Java project, right-click the project node
30 | in the Projects window and choose Properties. Then click Run and enter the
31 | class name in the Main Class field. Alternatively, you can manually type the
32 | class name in the manifest Main-Class element.
33 |
--------------------------------------------------------------------------------
/dist/Time Table Scheduling System.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/dist/Time Table Scheduling System.jar
--------------------------------------------------------------------------------
/dist/lib/AbsoluteLayout.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/dist/lib/AbsoluteLayout.jar
--------------------------------------------------------------------------------
/dist/lib/jcalendar-1.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/dist/lib/jcalendar-1.4.jar
--------------------------------------------------------------------------------
/dist/lib/mysql-connector.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/dist/lib/mysql-connector.jar
--------------------------------------------------------------------------------
/library/jcalendar-1.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/library/jcalendar-1.4.jar
--------------------------------------------------------------------------------
/library/mysql-connector.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/library/mysql-connector.jar
--------------------------------------------------------------------------------
/manifest.mf:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | X-COMMENT: Main-Class will be added automatically by build
3 |
4 |
--------------------------------------------------------------------------------
/nbproject/genfiles.properties:
--------------------------------------------------------------------------------
1 | build.xml.data.CRC32=d4df6ca6
2 | build.xml.script.CRC32=46b7696e
3 | build.xml.stylesheet.CRC32=8064a381@1.80.1.48
4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
6 | nbproject/build-impl.xml.data.CRC32=d4df6ca6
7 | nbproject/build-impl.xml.script.CRC32=d72208b9
8 | nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48
9 |
--------------------------------------------------------------------------------
/nbproject/private/config.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/nbproject/private/config.properties
--------------------------------------------------------------------------------
/nbproject/private/private.properties:
--------------------------------------------------------------------------------
1 | compile.on.save=true
2 | do.depend=false
3 | do.jar=true
4 | javac.debug=true
5 | javadoc.preview=true
6 | user.properties.file=C:\\Users\\USER\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
7 |
--------------------------------------------------------------------------------
/nbproject/private/private.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/nbproject/project.properties:
--------------------------------------------------------------------------------
1 | annotation.processing.enabled=true
2 | annotation.processing.enabled.in.editor=false
3 | annotation.processing.processors.list=
4 | annotation.processing.run.all.processors=true
5 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
6 | application.title=Time Table Scheduling
7 | application.vendor=USER
8 | build.classes.dir=${build.dir}/classes
9 | build.classes.excludes=**/*.java,**/*.form
10 | # This directory is removed when the project is cleaned:
11 | build.dir=build
12 | build.generated.dir=${build.dir}/generated
13 | build.generated.sources.dir=${build.dir}/generated-sources
14 | # Only compile against the classpath explicitly listed here:
15 | build.sysclasspath=ignore
16 | build.test.classes.dir=${build.dir}/test/classes
17 | build.test.results.dir=${build.dir}/test/results
18 | # Uncomment to specify the preferred debugger connection transport:
19 | #debug.transport=dt_socket
20 | debug.classpath=\
21 | ${run.classpath}
22 | debug.test.classpath=\
23 | ${run.test.classpath}
24 | # Files in build.classes.dir which should be excluded from distribution jar
25 | dist.archive.excludes=
26 | # This directory is removed when the project is cleaned:
27 | dist.dir=dist
28 | dist.jar=${dist.dir}/Time_Table_Scheduling.jar
29 | dist.javadoc.dir=${dist.dir}/javadoc
30 | endorsed.classpath=
31 | excludes=
32 | file.reference.jcalendar-1.4.jar=C:\\Users\\USER\\Documents\\Soft\\Java Soft\\library\\jcalendar-1.4.jar
33 | file.reference.mysql-connector.jar=C:\\Users\\USER\\Documents\\Soft\\Java Soft\\library\\mysql-connector.jar
34 | includes=**
35 | jar.compress=false
36 | javac.classpath=\
37 | ${libs.absolutelayout.classpath}:\
38 | ${file.reference.jcalendar-1.4.jar}:\
39 | ${file.reference.mysql-connector.jar}
40 | # Space-separated list of extra javac options
41 | javac.compilerargs=
42 | javac.deprecation=false
43 | javac.external.vm=true
44 | javac.processorpath=\
45 | ${javac.classpath}
46 | javac.source=1.8
47 | javac.target=1.8
48 | javac.test.classpath=\
49 | ${javac.classpath}:\
50 | ${build.classes.dir}
51 | javac.test.processorpath=\
52 | ${javac.test.classpath}
53 | javadoc.additionalparam=
54 | javadoc.author=false
55 | javadoc.encoding=${source.encoding}
56 | javadoc.noindex=false
57 | javadoc.nonavbar=false
58 | javadoc.notree=false
59 | javadoc.private=false
60 | javadoc.splitindex=true
61 | javadoc.use=true
62 | javadoc.version=false
63 | javadoc.windowtitle=
64 | main.class=com.gui.MainMenu
65 | manifest.file=manifest.mf
66 | meta.inf.dir=${src.dir}/META-INF
67 | mkdist.disabled=false
68 | platform.active=default_platform
69 | run.classpath=\
70 | ${javac.classpath}:\
71 | ${build.classes.dir}
72 | # Space-separated list of JVM arguments used when running the project.
73 | # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
74 | # To set system properties for unit tests define test-sys-prop.name=value:
75 | run.jvmargs=
76 | run.test.classpath=\
77 | ${javac.test.classpath}:\
78 | ${build.test.classes.dir}
79 | source.encoding=UTF-8
80 | src.dir=src
81 | test.src.dir=test
82 |
--------------------------------------------------------------------------------
/nbproject/project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.netbeans.modules.java.j2seproject
4 |
5 |
6 | Time Table Scheduling
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/com/data_structure/AbstractContainer.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public abstract class AbstractContainer implements Container, Comparable {
4 | protected int count;//Keep records of the items in the container
5 |
6 | public int getCount () {
7 | return count;
8 | }
9 |
10 | public boolean isEmpty () {
11 | return (getCount () == 0);
12 | }
13 |
14 | public boolean isFull () {
15 | return false;
16 | }
17 |
18 | public void accept(Visitor visitor) {
19 | Iterator iterator = iterator();
20 |
21 | while ( iterator.hasNext() && !visitor.isDone())
22 | visitor.visit(iterator.next());
23 | }
24 |
25 | public String toString() {
26 | final StringBuffer buffer = new StringBuffer();
27 |
28 | AbstractVisitor visitor = new AbstractVisitor() {
29 | private boolean comma;
30 |
31 | public void visit(Object obj) {
32 | if(comma)
33 | buffer.append(" ");
34 | buffer.append(obj);
35 | comma = true;
36 | }
37 | };
38 |
39 | accept(visitor);
40 | return "" + buffer;
41 | }
42 |
43 | public int compareTo(Object object){
44 | throw new MethodNotImplemented();
45 | }
46 |
47 | public abstract void purge();
48 | public abstract Iterator iterator();
49 | }
50 |
--------------------------------------------------------------------------------
/src/com/data_structure/AbstractVisitor.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public abstract class AbstractVisitor implements Visitor {
4 |
5 | public abstract void visit (Object object);
6 |
7 | public boolean isDone () {
8 | return false;
9 | }
10 | }
--------------------------------------------------------------------------------
/src/com/data_structure/Association.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public class Association implements Comparable{
4 | protected Comparable key;
5 | protected Object value;
6 |
7 | public Association(Comparable comparable, Object obj){
8 | key = comparable;
9 | value = obj;
10 | }
11 |
12 | public Association(Comparable comparable){
13 | this(comparable, null);
14 | }
15 |
16 | public Comparable getKey(){
17 | return key;
18 | }
19 |
20 | public Object getValue(){
21 | return value;
22 | }
23 |
24 | public void setKey(Comparable key){
25 | this.key = key;
26 | }
27 |
28 | public void setValue(Object value){
29 | this.value = value;
30 | }
31 |
32 | public int compareTo(Object obj){
33 | Association association = (Association)obj;
34 | return key.compareTo(association.getKey());
35 | }
36 |
37 | public boolean equals(Object obj){
38 | return compareTo(obj) == 0;
39 | }
40 |
41 | public String toString(){
42 | String s = "{ " + key;
43 | if(value != null)
44 | s = s + " , " + value;
45 | return s + " }";
46 | }
47 | }
--------------------------------------------------------------------------------
/src/com/data_structure/Container.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public interface Container {
4 | int getCount ();
5 | boolean isEmpty ();
6 | boolean isFull ();
7 | void purge ();
8 | void accept (Visitor visitor);
9 | Iterator iterator ();
10 | }
--------------------------------------------------------------------------------
/src/com/data_structure/ContainerFullException.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public class ContainerFullException extends RuntimeException
4 | {
5 |
6 | public ContainerFullException()
7 | {
8 | }
9 |
10 | }
--------------------------------------------------------------------------------
/src/com/data_structure/DBConnect.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 | import javax.swing.JOptionPane;
3 | import java.sql.*;
4 | public class DBConnect {
5 | public static Connection con;
6 | public static ResultSet rs;
7 | public static Statement st;
8 | public static void connect(){
9 | try {
10 | DriverManager.registerDriver(new com.mysql.jdbc.Driver());
11 | con=DriverManager.getConnection("jdbc:mysql://localhost:3306/time_table_scheduling", "root", "");
12 | st=con.createStatement();
13 | }catch (SQLException e){
14 | JOptionPane.showMessageDialog(null, "Cannot connect to the database","Issue!", JOptionPane.OK_OPTION);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/data_structure/DBConnect1.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 | import javax.swing.JOptionPane;
3 | import java.sql.*;
4 | public class DBConnect1 {
5 | public static Connection con;
6 | public static ResultSet rs;
7 | public static Statement st;
8 | public static void connect(){
9 | try {
10 | DriverManager.registerDriver(new com.mysql.jdbc.Driver());
11 | con=DriverManager.getConnection("jdbc:mysql://localhost:3306/time_table_scheduling", "root", "");
12 | st=con.createStatement();
13 | }catch (SQLException e){
14 | JOptionPane.showMessageDialog(null, "Cannot connect to the database","Issue!", JOptionPane.OK_OPTION);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/com/data_structure/Iterator.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | import java.util.NoSuchElementException;
4 |
5 | public interface Iterator {
6 | boolean hasNext ();
7 | Object next () throws NoSuchElementException;
8 | }
--------------------------------------------------------------------------------
/src/com/data_structure/MethodNotImplemented.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public class MethodNotImplemented extends RuntimeException {
4 |
5 | public MethodNotImplemented() {
6 | super();
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/com/data_structure/MyContainer.java:
--------------------------------------------------------------------------------
1 | package com.data_structure;
2 |
3 | public class MyContainer extends AbstractContainer {
4 | private final int SIZE = 100;
5 | protected Comparable[] array = new Comparable[SIZE];
6 |
7 | public boolean isFull() {
8 | return count == SIZE;
9 | }
10 |
11 | public void purge() {
12 | for (int i=0; i instructors;
11 |
12 |
13 | public Course(String number, String name, ArrayList instructors, int maxNumberOfStudents)
14 | {
15 | this.number = number;
16 | this.name = name;
17 | this.instructors = instructors;
18 | this.maxNumberOfStudents = maxNumberOfStudents;
19 | }
20 |
21 | public String getNumber()
22 | {
23 | return number;
24 | }
25 |
26 | public String getName()
27 | {
28 | return name;
29 | }
30 |
31 | public ArrayList getInstructors()
32 | {
33 | return instructors;
34 | }
35 |
36 | public int getMaxNumberOfStudents()
37 | {
38 | return maxNumberOfStudents;
39 | }
40 |
41 | public String toString()
42 | {
43 | return name;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/src/com/genetic_algorithm_resource/Department.java:
--------------------------------------------------------------------------------
1 | package com.genetic_algorithm_resource;
2 |
3 | import java.util.ArrayList;
4 |
5 | public class Department {
6 |
7 | private String name;
8 | private ArrayList courses;
9 |
10 | public Department(String name, ArrayList courses)
11 | {
12 | this.name = name;
13 | this.courses = courses;
14 | }
15 |
16 | public String getName()
17 | {
18 | return name;
19 | }
20 |
21 | public ArrayList getCourses()
22 | {
23 | return courses;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/genetic_algorithm_resource/Instructor.java:
--------------------------------------------------------------------------------
1 | package com.genetic_algorithm_resource;
2 |
3 | public class Instructor {
4 |
5 | private String id;
6 | private String name;
7 |
8 | public Instructor(String id, String name)
9 | {
10 | this.id = id;
11 | this.name = name;
12 | }
13 |
14 | public String getId()
15 | {
16 | return id;
17 | }
18 |
19 | public String getName()
20 | {
21 | return name;
22 | }
23 |
24 | public String toString()
25 | {
26 | return name;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/com/genetic_algorithm_resource/MeetingTime.java:
--------------------------------------------------------------------------------
1 | package com.genetic_algorithm_resource;
2 |
3 | public class MeetingTime {
4 |
5 | private String id;
6 | private String time;
7 |
8 | public MeetingTime(String id, String time)
9 | {
10 | this.id = id;
11 | this.time = time;
12 | }
13 |
14 | public String getId()
15 | {
16 | return id;
17 | }
18 |
19 | public String getTime()
20 | {
21 | return time;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/genetic_algorithm_resource/Room.java:
--------------------------------------------------------------------------------
1 | package com.genetic_algorithm_resource;
2 |
3 | public class Room {
4 |
5 | private String number;
6 | private int seatingCapacity;
7 |
8 | public Room(String number, int seatingCapacity)
9 | {
10 | this.number = number;
11 | this.seatingCapacity = seatingCapacity;
12 | }
13 |
14 | public String getNumber()
15 | {
16 | return number;
17 | }
18 |
19 | public int getSeatingCapacity()
20 | {
21 | return seatingCapacity;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/com/gui/AddCourse.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import java.sql.PreparedStatement;
5 | import javax.swing.JOptionPane;
6 |
7 | public class AddCourse extends javax.swing.JInternalFrame {
8 |
9 | public AddCourse() {
10 | DBConnect.connect();
11 | initComponents();
12 | }
13 |
14 | @SuppressWarnings("unchecked")
15 | // //GEN-BEGIN:initComponents
16 | private void initComponents() {
17 |
18 | jPanel1 = new javax.swing.JPanel();
19 | jPanel2 = new javax.swing.JPanel();
20 | jLabel1 = new javax.swing.JLabel();
21 | jLabel5 = new javax.swing.JLabel();
22 | course_title = new javax.swing.JTextField();
23 | insert = new javax.swing.JButton();
24 | close = new javax.swing.JButton();
25 | jLabel15 = new javax.swing.JLabel();
26 | no_of_student = new com.toedter.components.JSpinField();
27 |
28 | setBackground(new java.awt.Color(255, 255, 255));
29 | setClosable(true);
30 | setVisible(true);
31 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
32 |
33 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
34 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
35 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
36 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
37 |
38 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
39 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
40 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
41 |
42 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
43 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
44 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
45 | jLabel1.setText("ADD COURSE INFORMATION PAGE");
46 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 40));
47 |
48 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
49 |
50 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
51 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
52 | jLabel5.setText("Course Title");
53 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 60, -1, 20));
54 |
55 | course_title.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
56 | jPanel1.add(course_title, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 60, 220, -1));
57 |
58 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
59 | insert.setText("Insert the Information");
60 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
61 | insert.addActionListener(new java.awt.event.ActionListener() {
62 | public void actionPerformed(java.awt.event.ActionEvent evt) {
63 | insertActionPerformed(evt);
64 | }
65 | });
66 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 140, 260, 35));
67 |
68 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
69 | close.setText("Close");
70 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
71 | close.addActionListener(new java.awt.event.ActionListener() {
72 | public void actionPerformed(java.awt.event.ActionEvent evt) {
73 | closeActionPerformed(evt);
74 | }
75 | });
76 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 140, 80, 35));
77 |
78 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
79 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
80 | jLabel15.setText("Maximum Number of Student");
81 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, -1, 30));
82 |
83 | no_of_student.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 204)));
84 | no_of_student.setMaximum(300);
85 | no_of_student.setMinimum(0);
86 | jPanel1.add(no_of_student, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 100, 40, 30));
87 |
88 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 190));
89 |
90 | pack();
91 | }// //GEN-END:initComponents
92 |
93 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
94 | this.dispose();
95 | this.hide();
96 | }//GEN-LAST:event_closeActionPerformed
97 |
98 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
99 | if(course_title.getText().trim().equals("")){
100 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
101 | }else if(no_of_student.getValue() == 0){
102 | JOptionPane.showMessageDialog(this,"No of student cannot be 0 or non-numeric", "Issue", JOptionPane.OK_OPTION);
103 | }else{
104 | try{
105 | PreparedStatement st;
106 | String sql = "select * from course where course_name = ?";
107 | st = DBConnect.con.prepareStatement(sql);
108 |
109 | st.setString(1, course_title.getText().trim());
110 |
111 | DBConnect.rs = st.executeQuery();
112 |
113 | if(DBConnect.rs.next()){
114 | JOptionPane.showMessageDialog(this, "Course with thesame name already exist","Issue",JOptionPane.OK_OPTION);
115 | }else{
116 | String sql1="insert into course (course_name, maximum_number_of_student) values (?, ?)";
117 | st = DBConnect.con.prepareStatement(sql1);
118 | st.setString(1, course_title.getText().trim());
119 | st.setInt(2, no_of_student.getValue());
120 |
121 | st.executeUpdate();
122 |
123 | JOptionPane.showMessageDialog(this, "Course information has been saved","Success",JOptionPane.INFORMATION_MESSAGE);
124 | AddCourse reg = new AddCourse();
125 | MainMenu.desktop1.removeAll();
126 | MainMenu.desktop1.add(reg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
127 | MainMenu.desktop1.setVisible(false);
128 | MainMenu.desktop1.setVisible(true);
129 | MainMenu.desktop1.setSelectedFrame(reg);
130 | }
131 | }catch(Exception ex){
132 | System.out.println(ex.getMessage());
133 | }
134 | }
135 | }//GEN-LAST:event_insertActionPerformed
136 |
137 |
138 | // Variables declaration - do not modify//GEN-BEGIN:variables
139 | private javax.swing.JButton close;
140 | private javax.swing.JTextField course_title;
141 | private javax.swing.JButton insert;
142 | private javax.swing.JLabel jLabel1;
143 | private javax.swing.JLabel jLabel15;
144 | private javax.swing.JLabel jLabel5;
145 | private javax.swing.JPanel jPanel1;
146 | private javax.swing.JPanel jPanel2;
147 | private com.toedter.components.JSpinField no_of_student;
148 | // End of variables declaration//GEN-END:variables
149 | }
150 |
--------------------------------------------------------------------------------
/src/com/gui/AddLecturer.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import java.sql.PreparedStatement;
5 | import javax.swing.JOptionPane;
6 |
7 | public class AddLecturer extends javax.swing.JInternalFrame {
8 |
9 | public AddLecturer() {
10 | DBConnect.connect();
11 | initComponents();
12 | }
13 |
14 | @SuppressWarnings("unchecked")
15 | // //GEN-BEGIN:initComponents
16 | private void initComponents() {
17 |
18 | jPanel1 = new javax.swing.JPanel();
19 | jPanel2 = new javax.swing.JPanel();
20 | jLabel1 = new javax.swing.JLabel();
21 | jLabel5 = new javax.swing.JLabel();
22 | name = new javax.swing.JTextField();
23 | insert = new javax.swing.JButton();
24 | close = new javax.swing.JButton();
25 | jLabel15 = new javax.swing.JLabel();
26 | phone = new javax.swing.JTextField();
27 | jLabel17 = new javax.swing.JLabel();
28 | gender = new javax.swing.JComboBox();
29 |
30 | setBackground(new java.awt.Color(255, 255, 255));
31 | setClosable(true);
32 | setVisible(true);
33 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
34 |
35 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
36 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
37 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
38 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
39 |
40 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
41 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
42 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
43 |
44 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
45 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
46 | jLabel1.setText("ADD LECTURER INFORMATION PAGE");
47 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, 480, 40));
48 |
49 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
50 |
51 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
52 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
53 | jLabel5.setText("Lecturer Name");
54 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, -1, -1));
55 |
56 | name.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
57 | jPanel1.add(name, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 60, 220, -1));
58 |
59 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
60 | insert.setText("Insert the Information");
61 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
62 | insert.addActionListener(new java.awt.event.ActionListener() {
63 | public void actionPerformed(java.awt.event.ActionEvent evt) {
64 | insertActionPerformed(evt);
65 | }
66 | });
67 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 180, 260, 35));
68 |
69 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
70 | close.setText("Close");
71 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
72 | close.addActionListener(new java.awt.event.ActionListener() {
73 | public void actionPerformed(java.awt.event.ActionEvent evt) {
74 | closeActionPerformed(evt);
75 | }
76 | });
77 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 180, 80, 35));
78 |
79 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
80 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
81 | jLabel15.setText("GSM Number");
82 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 100, -1, -1));
83 |
84 | phone.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
85 | jPanel1.add(phone, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 100, 220, 26));
86 |
87 | jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
88 | jLabel17.setForeground(new java.awt.Color(0, 102, 0));
89 | jLabel17.setText("Gender");
90 | jPanel1.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 140, -1, -1));
91 |
92 | gender.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
93 | gender.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Select Gender", "Male", "Female" }));
94 | jPanel1.add(gender, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 140, 220, -1));
95 |
96 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 230));
97 |
98 | pack();
99 | }// //GEN-END:initComponents
100 |
101 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
102 | this.dispose();
103 | this.hide();
104 | }//GEN-LAST:event_closeActionPerformed
105 |
106 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
107 | if(name.getText().trim().equals("") ||
108 | phone.getText().trim().equals("") ||
109 | gender.getSelectedIndex() == 0){
110 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
111 | }else{
112 | try{
113 | PreparedStatement st;
114 | String sql1="insert into instructor (instructor_name, phone, gender) values (?, ?, ?)";
115 | st = DBConnect.con.prepareStatement(sql1);
116 | st.setString(1, name.getText().trim());
117 | st.setString(2, phone.getText().trim());
118 | st.setString(3, ""+gender.getSelectedItem());
119 |
120 | st.executeUpdate();
121 |
122 | JOptionPane.showMessageDialog(this, "Lecturer information has been saved","Success",JOptionPane.INFORMATION_MESSAGE);
123 | AddLecturer reg = new AddLecturer();
124 | MainMenu.desktop1.removeAll();
125 | MainMenu.desktop1.add(reg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
126 | MainMenu.desktop1.setVisible(false);
127 | MainMenu.desktop1.setVisible(true);
128 | MainMenu.desktop1.setSelectedFrame(reg);
129 | }catch(Exception ex){
130 | System.out.println(ex.getMessage());
131 | }
132 | }
133 | }//GEN-LAST:event_insertActionPerformed
134 |
135 |
136 | // Variables declaration - do not modify//GEN-BEGIN:variables
137 | private javax.swing.JButton close;
138 | private javax.swing.JComboBox gender;
139 | private javax.swing.JButton insert;
140 | private javax.swing.JLabel jLabel1;
141 | private javax.swing.JLabel jLabel15;
142 | private javax.swing.JLabel jLabel17;
143 | private javax.swing.JLabel jLabel5;
144 | private javax.swing.JPanel jPanel1;
145 | private javax.swing.JPanel jPanel2;
146 | private javax.swing.JTextField name;
147 | private javax.swing.JTextField phone;
148 | // End of variables declaration//GEN-END:variables
149 | }
150 |
--------------------------------------------------------------------------------
/src/com/gui/AddVenue.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import java.sql.PreparedStatement;
5 | import javax.swing.JOptionPane;
6 |
7 | public class AddVenue extends javax.swing.JInternalFrame {
8 |
9 | public AddVenue() {
10 | DBConnect.connect();
11 | initComponents();
12 | }
13 |
14 | @SuppressWarnings("unchecked")
15 | // //GEN-BEGIN:initComponents
16 | private void initComponents() {
17 |
18 | jPanel1 = new javax.swing.JPanel();
19 | jPanel2 = new javax.swing.JPanel();
20 | jLabel1 = new javax.swing.JLabel();
21 | jLabel5 = new javax.swing.JLabel();
22 | name = new javax.swing.JTextField();
23 | insert = new javax.swing.JButton();
24 | close = new javax.swing.JButton();
25 | jLabel15 = new javax.swing.JLabel();
26 | capacity = new com.toedter.components.JSpinField();
27 |
28 | setBackground(new java.awt.Color(255, 255, 255));
29 | setClosable(true);
30 | setVisible(true);
31 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
32 |
33 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
34 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
35 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
36 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
37 |
38 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
39 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
40 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
41 |
42 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
43 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
44 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
45 | jLabel1.setText("ADD VENUE INFORMATION PAGE");
46 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 430, 40));
47 |
48 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
49 |
50 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
51 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
52 | jLabel5.setText("Venue Name");
53 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 60, -1, 20));
54 |
55 | name.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
56 | jPanel1.add(name, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 60, 220, -1));
57 |
58 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
59 | insert.setText("Insert the Information");
60 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
61 | insert.addActionListener(new java.awt.event.ActionListener() {
62 | public void actionPerformed(java.awt.event.ActionEvent evt) {
63 | insertActionPerformed(evt);
64 | }
65 | });
66 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 140, 260, 35));
67 |
68 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
69 | close.setText("Close");
70 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
71 | close.addActionListener(new java.awt.event.ActionListener() {
72 | public void actionPerformed(java.awt.event.ActionEvent evt) {
73 | closeActionPerformed(evt);
74 | }
75 | });
76 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 140, 80, 35));
77 |
78 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
79 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
80 | jLabel15.setText("Space Capacity");
81 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 100, -1, 20));
82 |
83 | capacity.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 204)));
84 | capacity.setMaximum(300);
85 | capacity.setMinimum(0);
86 | jPanel1.add(capacity, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 100, 40, 30));
87 |
88 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 430, 190));
89 |
90 | pack();
91 | }// //GEN-END:initComponents
92 |
93 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
94 | this.dispose();
95 | this.hide();
96 | }//GEN-LAST:event_closeActionPerformed
97 |
98 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
99 | if(name.getText().trim().equals("")){
100 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
101 | }else if(capacity.getValue() == 0){
102 | JOptionPane.showMessageDialog(this,"Venue capacity cannot be 0 or non-numeric", "Issue", JOptionPane.OK_OPTION);
103 | }else{
104 | try{
105 | PreparedStatement st;
106 | String sql = "select * from class_room where class_room_name = ?";
107 | st = DBConnect.con.prepareStatement(sql);
108 |
109 | st.setString(1, name.getText().trim());
110 |
111 | DBConnect.rs = st.executeQuery();
112 |
113 | if(DBConnect.rs.next()){
114 | JOptionPane.showMessageDialog(this, "Venue with thesame name already exist","Issue",JOptionPane.OK_OPTION);
115 | }else{
116 | String sql1="insert into class_room (class_room_name, space_capacity) values (?, ?)";
117 | st = DBConnect.con.prepareStatement(sql1);
118 | st.setString(1, name.getText().trim());
119 | st.setInt(2, capacity.getValue());
120 |
121 | st.executeUpdate();
122 |
123 | JOptionPane.showMessageDialog(this, "Venue information has been saved","Success",JOptionPane.INFORMATION_MESSAGE);
124 | AddVenue reg = new AddVenue();
125 | MainMenu.desktop1.removeAll();
126 | MainMenu.desktop1.add(reg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
127 | MainMenu.desktop1.setVisible(false);
128 | MainMenu.desktop1.setVisible(true);
129 | MainMenu.desktop1.setSelectedFrame(reg);
130 | }
131 | }catch(Exception ex){
132 | System.out.println(ex.getMessage());
133 | }
134 | }
135 | }//GEN-LAST:event_insertActionPerformed
136 |
137 |
138 | // Variables declaration - do not modify//GEN-BEGIN:variables
139 | private com.toedter.components.JSpinField capacity;
140 | private javax.swing.JButton close;
141 | private javax.swing.JButton insert;
142 | private javax.swing.JLabel jLabel1;
143 | private javax.swing.JLabel jLabel15;
144 | private javax.swing.JLabel jLabel5;
145 | private javax.swing.JPanel jPanel1;
146 | private javax.swing.JPanel jPanel2;
147 | private javax.swing.JTextField name;
148 | // End of variables declaration//GEN-END:variables
149 | }
150 |
--------------------------------------------------------------------------------
/src/com/gui/EditCourse.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import static com.gui.MainMenu.desktop1;
5 | import java.sql.PreparedStatement;
6 | import javax.swing.JOptionPane;
7 |
8 | public class EditCourse extends javax.swing.JInternalFrame {
9 | private int course_id;
10 | public EditCourse(int course_id) {
11 | this.course_id = course_id;
12 | DBConnect.connect();
13 | initComponents();
14 |
15 | try{
16 | PreparedStatement st;
17 | String sql = "select * from course where course_id = ?";
18 | st = DBConnect.con.prepareStatement(sql);
19 |
20 | st.setInt(1, course_id);
21 |
22 | DBConnect.rs = st.executeQuery();
23 | DBConnect.rs.next();
24 |
25 | course_title.setText(DBConnect.rs.getString("course_name"));
26 | no_of_student.setValue(DBConnect.rs.getInt("maximum_number_of_student"));
27 | }catch (Exception e) {
28 | System.err.println(e.getMessage());
29 | e.printStackTrace();
30 | }
31 | }
32 |
33 | @SuppressWarnings("unchecked")
34 | // //GEN-BEGIN:initComponents
35 | private void initComponents() {
36 |
37 | jPanel1 = new javax.swing.JPanel();
38 | jPanel2 = new javax.swing.JPanel();
39 | jLabel1 = new javax.swing.JLabel();
40 | jLabel5 = new javax.swing.JLabel();
41 | course_title = new javax.swing.JTextField();
42 | insert = new javax.swing.JButton();
43 | close = new javax.swing.JButton();
44 | jLabel15 = new javax.swing.JLabel();
45 | no_of_student = new com.toedter.components.JSpinField();
46 |
47 | setBackground(new java.awt.Color(255, 255, 255));
48 | setClosable(true);
49 | setVisible(true);
50 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
51 |
52 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
53 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
54 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
55 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
56 |
57 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
58 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
59 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
60 |
61 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
62 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
63 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
64 | jLabel1.setText("EDIT COURSE INFORMATION PAGE");
65 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 40));
66 |
67 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
68 |
69 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
70 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
71 | jLabel5.setText("Course Title");
72 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 60, -1, 20));
73 |
74 | course_title.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
75 | jPanel1.add(course_title, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 60, 220, -1));
76 |
77 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
78 | insert.setText("Update the Information");
79 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
80 | insert.addActionListener(new java.awt.event.ActionListener() {
81 | public void actionPerformed(java.awt.event.ActionEvent evt) {
82 | insertActionPerformed(evt);
83 | }
84 | });
85 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 140, 260, 35));
86 |
87 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
88 | close.setText("Close");
89 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
90 | close.addActionListener(new java.awt.event.ActionListener() {
91 | public void actionPerformed(java.awt.event.ActionEvent evt) {
92 | closeActionPerformed(evt);
93 | }
94 | });
95 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 140, 80, 35));
96 |
97 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
98 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
99 | jLabel15.setText("Maximum Number of Student");
100 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, -1, 30));
101 |
102 | no_of_student.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 204)));
103 | no_of_student.setMaximum(300);
104 | no_of_student.setMinimum(0);
105 | jPanel1.add(no_of_student, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 100, 40, 30));
106 |
107 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 190));
108 |
109 | pack();
110 | }// //GEN-END:initComponents
111 |
112 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
113 | this.dispose();
114 | this.hide();
115 |
116 | Thread runner = new Thread() {
117 |
118 | public void run() {
119 | ViewCourse regJ = new ViewCourse();
120 | desktop1.add(regJ, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0));
121 | try {
122 | regJ.setSelected(true);
123 | } catch (java.beans.PropertyVetoException e) {
124 | }
125 | }
126 | };
127 | runner.start();
128 | }//GEN-LAST:event_closeActionPerformed
129 |
130 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
131 | if(course_title.getText().trim().equals("")){
132 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
133 | }else if(no_of_student.getValue() == 0){
134 | JOptionPane.showMessageDialog(this,"No of student cannot be 0 or non-numeric", "Issue", JOptionPane.OK_OPTION);
135 | }else{
136 | try{
137 | PreparedStatement st;
138 | String sql = "select * from course where course_name = ? AND course_id != ?";
139 | st = DBConnect.con.prepareStatement(sql);
140 |
141 | st.setString(1, course_title.getText().trim());
142 | st.setInt(2, course_id);
143 |
144 | DBConnect.rs = st.executeQuery();
145 |
146 | if(DBConnect.rs.next()){
147 | JOptionPane.showMessageDialog(this, "Course with thesame name already exist", "Issue", JOptionPane.OK_OPTION);
148 | }else{
149 | String sql1="update course set course_name = ?, maximum_number_of_student = ? where course_id = ?";
150 | st = DBConnect.con.prepareStatement(sql1);
151 | st.setString(1, course_title.getText().trim());
152 | st.setInt(2, no_of_student.getValue());
153 | st.setInt(3, course_id);
154 |
155 | st.executeUpdate();
156 |
157 | JOptionPane.showMessageDialog(this, "Course information has been updated", "Success", JOptionPane.INFORMATION_MESSAGE);
158 | ViewCourse view_course = new ViewCourse();
159 | MainMenu.desktop1.removeAll();
160 | MainMenu.desktop1.add(view_course, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
161 | MainMenu.desktop1.setVisible(false);
162 | MainMenu.desktop1.setVisible(true);
163 | MainMenu.desktop1.setSelectedFrame(view_course);
164 | }
165 | }catch(Exception ex){
166 | System.out.println(ex.getMessage());
167 | }
168 | }
169 | }//GEN-LAST:event_insertActionPerformed
170 |
171 |
172 | // Variables declaration - do not modify//GEN-BEGIN:variables
173 | private javax.swing.JButton close;
174 | private javax.swing.JTextField course_title;
175 | private javax.swing.JButton insert;
176 | private javax.swing.JLabel jLabel1;
177 | private javax.swing.JLabel jLabel15;
178 | private javax.swing.JLabel jLabel5;
179 | private javax.swing.JPanel jPanel1;
180 | private javax.swing.JPanel jPanel2;
181 | private com.toedter.components.JSpinField no_of_student;
182 | // End of variables declaration//GEN-END:variables
183 | }
184 |
--------------------------------------------------------------------------------
/src/com/gui/EditLecturer.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import static com.gui.MainMenu.desktop1;
5 | import java.sql.PreparedStatement;
6 | import javax.swing.JOptionPane;
7 |
8 | public class EditLecturer extends javax.swing.JInternalFrame {
9 |
10 | private int lecturer_id;
11 | public EditLecturer(int lecturer_id) {
12 | this.lecturer_id = lecturer_id;
13 | DBConnect.connect();
14 | initComponents();
15 |
16 | try{
17 | PreparedStatement st;
18 | String sql = "select * from instructor where instructor_id = ?";
19 | st = DBConnect.con.prepareStatement(sql);
20 |
21 | st.setInt(1, lecturer_id);
22 |
23 | DBConnect.rs = st.executeQuery();
24 | DBConnect.rs.next();
25 |
26 | name.setText(DBConnect.rs.getString("instructor_name"));
27 | phone.setText(DBConnect.rs.getString("phone"));
28 | gender.setSelectedItem(DBConnect.rs.getString("gender"));
29 | }catch (Exception e) {
30 | System.err.println(e.getMessage());
31 | e.printStackTrace();
32 | }
33 | }
34 |
35 | @SuppressWarnings("unchecked")
36 | // //GEN-BEGIN:initComponents
37 | private void initComponents() {
38 |
39 | jPanel1 = new javax.swing.JPanel();
40 | jPanel2 = new javax.swing.JPanel();
41 | jLabel1 = new javax.swing.JLabel();
42 | jLabel5 = new javax.swing.JLabel();
43 | name = new javax.swing.JTextField();
44 | insert = new javax.swing.JButton();
45 | close = new javax.swing.JButton();
46 | jLabel15 = new javax.swing.JLabel();
47 | phone = new javax.swing.JTextField();
48 | jLabel17 = new javax.swing.JLabel();
49 | gender = new javax.swing.JComboBox();
50 |
51 | setBackground(new java.awt.Color(255, 255, 255));
52 | setClosable(true);
53 | setVisible(true);
54 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
55 |
56 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
57 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
58 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
59 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
60 |
61 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
62 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
63 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
64 |
65 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
66 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
67 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
68 | jLabel1.setText("EDIT LECTURER INFORMATION PAGE");
69 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 40));
70 |
71 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
72 |
73 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
74 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
75 | jLabel5.setText("Lecturer Name");
76 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, -1, -1));
77 |
78 | name.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
79 | jPanel1.add(name, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 60, 220, -1));
80 |
81 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
82 | insert.setText("Update the Information");
83 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
84 | insert.addActionListener(new java.awt.event.ActionListener() {
85 | public void actionPerformed(java.awt.event.ActionEvent evt) {
86 | insertActionPerformed(evt);
87 | }
88 | });
89 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 180, 260, 35));
90 |
91 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
92 | close.setText("Close");
93 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
94 | close.addActionListener(new java.awt.event.ActionListener() {
95 | public void actionPerformed(java.awt.event.ActionEvent evt) {
96 | closeActionPerformed(evt);
97 | }
98 | });
99 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 180, 80, 35));
100 |
101 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
102 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
103 | jLabel15.setText("GSM Number");
104 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 100, -1, -1));
105 |
106 | phone.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
107 | jPanel1.add(phone, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 100, 220, 26));
108 |
109 | jLabel17.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
110 | jLabel17.setForeground(new java.awt.Color(0, 102, 0));
111 | jLabel17.setText("Gender");
112 | jPanel1.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 140, -1, -1));
113 |
114 | gender.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
115 | gender.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Select Gender", "Male", "Female" }));
116 | jPanel1.add(gender, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 140, 220, -1));
117 |
118 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 470, 230));
119 |
120 | pack();
121 | }// //GEN-END:initComponents
122 |
123 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
124 | this.dispose();
125 | this.hide();
126 |
127 | Thread runner = new Thread() {
128 |
129 | public void run() {
130 | ViewLecturer regJ = new ViewLecturer();
131 | desktop1.add(regJ, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0));
132 | try {
133 | regJ.setSelected(true);
134 | } catch (java.beans.PropertyVetoException e) {
135 | }
136 | }
137 | };
138 | runner.start();
139 | }//GEN-LAST:event_closeActionPerformed
140 |
141 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
142 | if(name.getText().trim().equals("") ||
143 | phone.getText().trim().equals("") ||
144 | gender.getSelectedIndex() == 0){
145 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
146 | }else{
147 | try{
148 | PreparedStatement st;
149 | String sql1="update instructor set instructor_name = ?, phone = ?, gender = ? where instructor_id = ?";
150 | st = DBConnect.con.prepareStatement(sql1);
151 | st.setString(1, name.getText().trim());
152 | st.setString(2, phone.getText().trim());
153 | st.setString(3, ""+gender.getSelectedItem());
154 | st.setInt(4, lecturer_id);
155 |
156 | st.executeUpdate();
157 |
158 | JOptionPane.showMessageDialog(this, "Lecturer information has been update","Success",JOptionPane.INFORMATION_MESSAGE);
159 |
160 | ViewLecturer view_lecturer = new ViewLecturer();
161 | MainMenu.desktop1.removeAll();
162 | MainMenu.desktop1.add(view_lecturer, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
163 | MainMenu.desktop1.setVisible(false);
164 | MainMenu.desktop1.setVisible(true);
165 | MainMenu.desktop1.setSelectedFrame(view_lecturer);
166 | }catch(Exception ex){
167 | System.out.println(ex.getMessage());
168 | }
169 | }
170 | }//GEN-LAST:event_insertActionPerformed
171 |
172 |
173 | // Variables declaration - do not modify//GEN-BEGIN:variables
174 | private javax.swing.JButton close;
175 | private javax.swing.JComboBox gender;
176 | private javax.swing.JButton insert;
177 | private javax.swing.JLabel jLabel1;
178 | private javax.swing.JLabel jLabel15;
179 | private javax.swing.JLabel jLabel17;
180 | private javax.swing.JLabel jLabel5;
181 | private javax.swing.JPanel jPanel1;
182 | private javax.swing.JPanel jPanel2;
183 | private javax.swing.JTextField name;
184 | private javax.swing.JTextField phone;
185 | // End of variables declaration//GEN-END:variables
186 | }
187 |
--------------------------------------------------------------------------------
/src/com/gui/EditVenue.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import static com.gui.MainMenu.desktop1;
5 | import java.sql.PreparedStatement;
6 | import javax.swing.JOptionPane;
7 |
8 | public class EditVenue extends javax.swing.JInternalFrame {
9 | private int class_room_id;
10 | public EditVenue(int class_room_id) {
11 | this.class_room_id = class_room_id;
12 | DBConnect.connect();
13 | initComponents();
14 |
15 | try{
16 | PreparedStatement st;
17 | String sql = "select * from class_room where class_room_id = ?";
18 | st = DBConnect.con.prepareStatement(sql);
19 |
20 | st.setInt(1, class_room_id);
21 |
22 | DBConnect.rs = st.executeQuery();
23 | DBConnect.rs.next();
24 |
25 | name.setText(DBConnect.rs.getString("class_room_name"));
26 | capacity.setValue(DBConnect.rs.getInt("space_capacity"));
27 | }catch (Exception e) {
28 | System.err.println(e.getMessage());
29 | e.printStackTrace();
30 | }
31 | }
32 |
33 | @SuppressWarnings("unchecked")
34 | // //GEN-BEGIN:initComponents
35 | private void initComponents() {
36 |
37 | jPanel1 = new javax.swing.JPanel();
38 | jPanel2 = new javax.swing.JPanel();
39 | jLabel1 = new javax.swing.JLabel();
40 | jLabel5 = new javax.swing.JLabel();
41 | name = new javax.swing.JTextField();
42 | insert = new javax.swing.JButton();
43 | close = new javax.swing.JButton();
44 | jLabel15 = new javax.swing.JLabel();
45 | capacity = new com.toedter.components.JSpinField();
46 |
47 | setBackground(new java.awt.Color(255, 255, 255));
48 | setClosable(true);
49 | setVisible(true);
50 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
51 |
52 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
53 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
54 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
55 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
56 |
57 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
58 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
59 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
60 |
61 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
62 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
63 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
64 | jLabel1.setText("EDIT VENUE INFORMATION PAGE");
65 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 430, 40));
66 |
67 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 40));
68 |
69 | jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
70 | jLabel5.setForeground(new java.awt.Color(0, 102, 0));
71 | jLabel5.setText("Venue Name");
72 | jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 60, -1, 20));
73 |
74 | name.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
75 | jPanel1.add(name, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 60, 220, -1));
76 |
77 | insert.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
78 | insert.setText("Update the Information");
79 | insert.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
80 | insert.addActionListener(new java.awt.event.ActionListener() {
81 | public void actionPerformed(java.awt.event.ActionEvent evt) {
82 | insertActionPerformed(evt);
83 | }
84 | });
85 | jPanel1.add(insert, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 140, 260, 35));
86 |
87 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
88 | close.setText("Close");
89 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
90 | close.addActionListener(new java.awt.event.ActionListener() {
91 | public void actionPerformed(java.awt.event.ActionEvent evt) {
92 | closeActionPerformed(evt);
93 | }
94 | });
95 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 140, 80, 35));
96 |
97 | jLabel15.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
98 | jLabel15.setForeground(new java.awt.Color(0, 102, 0));
99 | jLabel15.setText("Space Capacity");
100 | jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 100, -1, 20));
101 |
102 | capacity.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 204)));
103 | capacity.setMaximum(300);
104 | capacity.setMinimum(0);
105 | jPanel1.add(capacity, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 100, 40, 30));
106 |
107 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 430, 190));
108 |
109 | pack();
110 | }// //GEN-END:initComponents
111 |
112 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
113 | this.dispose();
114 | this.hide();
115 |
116 | Thread runner = new Thread() {
117 |
118 | public void run() {
119 | ViewVenue view_venue = new ViewVenue();
120 | desktop1.add(view_venue, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0));
121 | try {
122 | view_venue.setSelected(true);
123 | } catch (java.beans.PropertyVetoException e) {
124 | }
125 | }
126 | };
127 | runner.start();
128 | }//GEN-LAST:event_closeActionPerformed
129 |
130 | private void insertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertActionPerformed
131 | if(name.getText().trim().equals("")){
132 | JOptionPane.showMessageDialog(this,"Empty Field(s), Please correct and try again", "Empty Field(s)", JOptionPane.OK_OPTION);
133 | }else if(capacity.getValue() == 0){
134 | JOptionPane.showMessageDialog(this,"Venue capacity cannot be 0 or non-numeric", "Issue", JOptionPane.OK_OPTION);
135 | }else{
136 | try{
137 | PreparedStatement st;
138 | String sql = "select * from class_room where class_room_name = ? AND class_room_id != ?";
139 | st = DBConnect.con.prepareStatement(sql);
140 |
141 | st.setString(1, name.getText().trim());
142 | st.setInt(2, class_room_id);
143 |
144 | DBConnect.rs = st.executeQuery();
145 |
146 | if(DBConnect.rs.next()){
147 | JOptionPane.showMessageDialog(this, "Venue with thesame name already exist","Issue",JOptionPane.OK_OPTION);
148 | }else{
149 | String sql1="update class_room set class_room_name = ?, space_capacity = ? where class_room_id = ?";
150 | st = DBConnect.con.prepareStatement(sql1);
151 | st.setString(1, name.getText().trim());
152 | st.setInt(2, capacity.getValue());
153 | st.setInt(3, class_room_id);
154 |
155 | st.executeUpdate();
156 |
157 | JOptionPane.showMessageDialog(this, "Venue information has been updated","Success",JOptionPane.INFORMATION_MESSAGE);
158 | ViewVenue view_venue = new ViewVenue();
159 | MainMenu.desktop1.removeAll();
160 | MainMenu.desktop1.add(view_venue, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0) );
161 | MainMenu.desktop1.setVisible(false);
162 | MainMenu.desktop1.setVisible(true);
163 | MainMenu.desktop1.setSelectedFrame(view_venue);
164 | }
165 | }catch(Exception ex){
166 | System.out.println(ex.getMessage());
167 | }
168 | }
169 | }//GEN-LAST:event_insertActionPerformed
170 |
171 |
172 | // Variables declaration - do not modify//GEN-BEGIN:variables
173 | private com.toedter.components.JSpinField capacity;
174 | private javax.swing.JButton close;
175 | private javax.swing.JButton insert;
176 | private javax.swing.JLabel jLabel1;
177 | private javax.swing.JLabel jLabel15;
178 | private javax.swing.JLabel jLabel5;
179 | private javax.swing.JPanel jPanel1;
180 | private javax.swing.JPanel jPanel2;
181 | private javax.swing.JTextField name;
182 | // End of variables declaration//GEN-END:variables
183 | }
184 |
--------------------------------------------------------------------------------
/src/com/gui/GenerateTimeTable.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
170 |
--------------------------------------------------------------------------------
/src/com/gui/ViewClass.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
161 |
--------------------------------------------------------------------------------
/src/com/gui/ViewClass.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import com.data_structure.MyTable;
5 | import java.awt.Dimension;
6 | import javax.swing.JScrollPane;
7 | import javax.swing.JTable;
8 | import javax.swing.table.TableColumn;
9 |
10 | public class ViewClass extends javax.swing.JInternalFrame {
11 |
12 | public ViewClass() {
13 | DBConnect.connect();
14 | initComponents();
15 | createTable();
16 | }
17 |
18 | private void createTable(){
19 | String sql="select class_name from class";
20 |
21 | JTable table;
22 | TableColumn column = null;
23 | JScrollPane scrollPane;
24 | String meta[]={"Class Title"};
25 | table= MyTable.createTable(sql, meta);
26 | table.setPreferredScrollableViewportSize(new Dimension(360, 200));
27 | scrollPane = new JScrollPane(table);
28 | for (int i = 0; i < 1; i++) {
29 | column = table.getColumnModel().getColumn(i);
30 | if (i == 0) //MemberID
31 | column.setPreferredWidth(100);
32 | }
33 |
34 | contentPanel.removeAll();
35 | scrollPane.setViewportView(table);
36 | contentPanel.add(scrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 360, 200));
37 | contentPanel.setVisible(false);
38 | contentPanel.setVisible(true);
39 | }
40 |
41 | @SuppressWarnings("unchecked")
42 | // //GEN-BEGIN:initComponents
43 | private void initComponents() {
44 |
45 | jPanel1 = new javax.swing.JPanel();
46 | jPanel2 = new javax.swing.JPanel();
47 | jLabel1 = new javax.swing.JLabel();
48 | contentPanel = new javax.swing.JPanel();
49 | jLabel2 = new javax.swing.JLabel();
50 | close = new javax.swing.JButton();
51 |
52 | setBackground(new java.awt.Color(255, 255, 255));
53 | setClosable(true);
54 | setPreferredSize(new java.awt.Dimension(395, 337));
55 | setVisible(true);
56 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
57 |
58 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
59 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
60 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
61 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
62 |
63 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
64 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
65 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
66 |
67 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
68 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
69 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
70 | jLabel1.setText("VIEW CLASS INFORMATION");
71 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 40));
72 |
73 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 40));
74 |
75 | contentPanel.setBackground(new java.awt.Color(255, 255, 255));
76 | contentPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92)));
77 | contentPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
78 | contentPanel.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 220, -1, -1));
79 |
80 | jPanel1.add(contentPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 360, 200));
81 |
82 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
83 | close.setText("CLOSE");
84 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
85 | close.addActionListener(new java.awt.event.ActionListener() {
86 | public void actionPerformed(java.awt.event.ActionEvent evt) {
87 | closeActionPerformed(evt);
88 | }
89 | });
90 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 260, 80, 35));
91 |
92 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 310));
93 |
94 | pack();
95 | }// //GEN-END:initComponents
96 |
97 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
98 | this.hide();
99 | this.dispose();
100 | }//GEN-LAST:event_closeActionPerformed
101 |
102 |
103 | // Variables declaration - do not modify//GEN-BEGIN:variables
104 | private javax.swing.JButton close;
105 | public static javax.swing.JPanel contentPanel;
106 | private javax.swing.JLabel jLabel1;
107 | private javax.swing.JLabel jLabel2;
108 | private javax.swing.JPanel jPanel1;
109 | private javax.swing.JPanel jPanel2;
110 | // End of variables declaration//GEN-END:variables
111 | }
112 |
--------------------------------------------------------------------------------
/src/com/gui/ViewCourse.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import com.data_structure.MyTable;
5 | import static com.gui.MainMenu.desktop1;
6 | import java.awt.BorderLayout;
7 | import java.awt.Dimension;
8 | import java.sql.PreparedStatement;
9 | import javax.swing.JOptionPane;
10 | import javax.swing.JScrollPane;
11 | import javax.swing.JTable;
12 | import javax.swing.table.TableColumn;
13 |
14 | public class ViewCourse extends javax.swing.JInternalFrame {
15 |
16 | private String course_name;
17 |
18 | public ViewCourse() {
19 | DBConnect.connect();
20 | initComponents();
21 | createTable();
22 | }
23 |
24 | private void createTable(){
25 | String sql="select course_name, maximum_number_of_student from course";
26 |
27 | JTable table;
28 | TableColumn column = null;
29 | JScrollPane scrollPane;
30 | String meta[]={"Course Title", "Maximum Number of Student"};
31 | table= MyTable.createTable(sql, meta);
32 | table.setPreferredScrollableViewportSize(new Dimension(480, 200));
33 | table.setToolTipText("Select course record and click edit or delete to edit or delete information");
34 | scrollPane = new JScrollPane(table);
35 | for (int i = 0; i < 2; i++) {
36 | column = table.getColumnModel().getColumn(i);
37 | if (i == 0) //MemberID
38 | column.setPreferredWidth(100);
39 | if (i == 1) //MemberID
40 | column.setPreferredWidth(100);
41 | }
42 |
43 | table.addMouseListener(new java.awt.event.MouseAdapter() {
44 | public void mouseClicked(java.awt.event.MouseEvent evt) {
45 | try{
46 | int row= table.getSelectedRow();
47 |
48 | course_name = table.getModel().getValueAt(row, 0).toString();
49 |
50 | edit.setEnabled(true);
51 | delete.setEnabled(true);
52 | }catch(Exception ex){
53 | ex.printStackTrace();
54 | System.out.println(ex.getMessage());
55 | }
56 | }
57 | });
58 |
59 | contentPanel.removeAll();
60 | scrollPane.setViewportView(table);
61 | contentPanel.add(scrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 480, 200));
62 | contentPanel.setVisible(false);
63 | contentPanel.setVisible(true);
64 | }
65 |
66 | @SuppressWarnings("unchecked")
67 | // //GEN-BEGIN:initComponents
68 | private void initComponents() {
69 |
70 | jPanel1 = new javax.swing.JPanel();
71 | jPanel2 = new javax.swing.JPanel();
72 | jLabel1 = new javax.swing.JLabel();
73 | contentPanel = new javax.swing.JPanel();
74 | jLabel2 = new javax.swing.JLabel();
75 | edit = new javax.swing.JButton();
76 | delete = new javax.swing.JButton();
77 | close = new javax.swing.JButton();
78 |
79 | setBackground(new java.awt.Color(255, 255, 255));
80 | setClosable(true);
81 | setPreferredSize(new java.awt.Dimension(515, 350));
82 | setVisible(true);
83 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
84 |
85 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
86 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
87 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
88 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
89 |
90 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
91 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
92 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
93 |
94 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
95 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
96 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
97 | jLabel1.setText("EDIT/DELETE COURSE INFORMATION");
98 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 500, 40));
99 |
100 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 520, 40));
101 |
102 | contentPanel.setBackground(new java.awt.Color(255, 255, 255));
103 | contentPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92)));
104 | contentPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
105 | contentPanel.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 220, -1, -1));
106 |
107 | jPanel1.add(contentPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 480, 200));
108 |
109 | edit.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
110 | edit.setText("EDIT");
111 | edit.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
112 | edit.setEnabled(false);
113 | edit.addActionListener(new java.awt.event.ActionListener() {
114 | public void actionPerformed(java.awt.event.ActionEvent evt) {
115 | editActionPerformed(evt);
116 | }
117 | });
118 | jPanel1.add(edit, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 260, 90, 35));
119 |
120 | delete.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
121 | delete.setText("DELETE");
122 | delete.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
123 | delete.setEnabled(false);
124 | delete.addActionListener(new java.awt.event.ActionListener() {
125 | public void actionPerformed(java.awt.event.ActionEvent evt) {
126 | deleteActionPerformed(evt);
127 | }
128 | });
129 | jPanel1.add(delete, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 260, 90, 35));
130 |
131 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
132 | close.setText("CLOSE");
133 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
134 | close.addActionListener(new java.awt.event.ActionListener() {
135 | public void actionPerformed(java.awt.event.ActionEvent evt) {
136 | closeActionPerformed(evt);
137 | }
138 | });
139 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 260, 80, 35));
140 |
141 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 500, 310));
142 |
143 | pack();
144 | }// //GEN-END:initComponents
145 |
146 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
147 | this.hide();
148 | this.dispose();
149 | }//GEN-LAST:event_closeActionPerformed
150 |
151 | private void deleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteActionPerformed
152 | try{
153 | int confirm = JOptionPane.showConfirmDialog(this, "Delecte course Information? Notice that all information related to the course will also be deleted.", "Confirmation", JOptionPane.YES_NO_OPTION);
154 | PreparedStatement st;
155 |
156 | if(confirm == JOptionPane.YES_OPTION){
157 | String sql = "delete from course where course_name = ?";
158 | st = DBConnect.con.prepareStatement(sql);
159 |
160 | st.setString(1, course_name);
161 |
162 | st.executeUpdate();
163 |
164 | JOptionPane.showMessageDialog(this, "Course information has been deleted","Success",JOptionPane.INFORMATION_MESSAGE);
165 |
166 | createTable();
167 | this.edit.setEnabled(false);
168 | this.delete.setEnabled(false);
169 | }
170 | }catch (Exception e) {
171 | System.err.println(e.getMessage());
172 | e.printStackTrace();
173 | }
174 | }//GEN-LAST:event_deleteActionPerformed
175 |
176 | private void editActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editActionPerformed
177 | try{
178 | PreparedStatement st;
179 | String sql = "select * from course where course_name = ?";
180 | st = DBConnect.con.prepareStatement(sql);
181 |
182 | st.setString(1, course_name);
183 |
184 | DBConnect.rs = st.executeQuery();
185 | DBConnect.rs.next();
186 |
187 | int course_id = DBConnect.rs.getInt("course_id");
188 |
189 | this.dispose();
190 | this.hide();
191 |
192 | EditCourse edit_course = new EditCourse(course_id);
193 | desktop1.add(edit_course, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0));
194 | edit_course.setSelected(true);
195 | }catch (Exception e) {
196 | System.err.println(e.getMessage());
197 | e.printStackTrace();
198 | }
199 | }//GEN-LAST:event_editActionPerformed
200 |
201 |
202 | // Variables declaration - do not modify//GEN-BEGIN:variables
203 | private javax.swing.JButton close;
204 | public static javax.swing.JPanel contentPanel;
205 | private javax.swing.JButton delete;
206 | private javax.swing.JButton edit;
207 | private javax.swing.JLabel jLabel1;
208 | private javax.swing.JLabel jLabel2;
209 | private javax.swing.JPanel jPanel1;
210 | private javax.swing.JPanel jPanel2;
211 | // End of variables declaration//GEN-END:variables
212 | }
213 |
--------------------------------------------------------------------------------
/src/com/gui/ViewMeetingTime.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
161 |
--------------------------------------------------------------------------------
/src/com/gui/ViewMeetingTime.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import com.data_structure.MyTable;
5 | import java.awt.Dimension;
6 | import javax.swing.JScrollPane;
7 | import javax.swing.JTable;
8 | import javax.swing.table.TableColumn;
9 |
10 | public class ViewMeetingTime extends javax.swing.JInternalFrame {
11 |
12 | public ViewMeetingTime() {
13 | DBConnect.connect();
14 | initComponents();
15 | createTable();
16 | }
17 |
18 | private void createTable(){
19 | String sql="select time_title from meeting_time";
20 |
21 | JTable table;
22 | TableColumn column = null;
23 | JScrollPane scrollPane;
24 | String meta[]={"Meeting Time"};
25 | table= MyTable.createTable(sql, meta);
26 | table.setPreferredScrollableViewportSize(new Dimension(360, 200));
27 | scrollPane = new JScrollPane(table);
28 | for (int i = 0; i < 1; i++) {
29 | column = table.getColumnModel().getColumn(i);
30 | if (i == 0) //MemberID
31 | column.setPreferredWidth(100);
32 | }
33 |
34 | contentPanel.removeAll();
35 | scrollPane.setViewportView(table);
36 | contentPanel.add(scrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 360, 200));
37 | contentPanel.setVisible(false);
38 | contentPanel.setVisible(true);
39 | }
40 |
41 | @SuppressWarnings("unchecked")
42 | // //GEN-BEGIN:initComponents
43 | private void initComponents() {
44 |
45 | jPanel1 = new javax.swing.JPanel();
46 | jPanel2 = new javax.swing.JPanel();
47 | jLabel1 = new javax.swing.JLabel();
48 | contentPanel = new javax.swing.JPanel();
49 | jLabel2 = new javax.swing.JLabel();
50 | close = new javax.swing.JButton();
51 |
52 | setBackground(new java.awt.Color(255, 255, 255));
53 | setClosable(true);
54 | setPreferredSize(new java.awt.Dimension(395, 337));
55 | setVisible(true);
56 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
57 |
58 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
59 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
60 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
61 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
62 |
63 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
64 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
65 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
66 |
67 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 18)); // NOI18N
68 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
69 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
70 | jLabel1.setText("VIEW MEETING TIME INFORMATION");
71 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 40));
72 |
73 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 40));
74 |
75 | contentPanel.setBackground(new java.awt.Color(255, 255, 255));
76 | contentPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92)));
77 | contentPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
78 | contentPanel.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 220, -1, -1));
79 |
80 | jPanel1.add(contentPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 360, 200));
81 |
82 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
83 | close.setText("CLOSE");
84 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
85 | close.addActionListener(new java.awt.event.ActionListener() {
86 | public void actionPerformed(java.awt.event.ActionEvent evt) {
87 | closeActionPerformed(evt);
88 | }
89 | });
90 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 260, 80, 35));
91 |
92 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 310));
93 |
94 | pack();
95 | }// //GEN-END:initComponents
96 |
97 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
98 | this.hide();
99 | this.dispose();
100 | }//GEN-LAST:event_closeActionPerformed
101 |
102 |
103 | // Variables declaration - do not modify//GEN-BEGIN:variables
104 | private javax.swing.JButton close;
105 | public static javax.swing.JPanel contentPanel;
106 | private javax.swing.JLabel jLabel1;
107 | private javax.swing.JLabel jLabel2;
108 | private javax.swing.JPanel jPanel1;
109 | private javax.swing.JPanel jPanel2;
110 | // End of variables declaration//GEN-END:variables
111 | }
112 |
--------------------------------------------------------------------------------
/src/com/gui/ViewVenue.java:
--------------------------------------------------------------------------------
1 | package com.gui;
2 |
3 | import com.data_structure.DBConnect;
4 | import com.data_structure.MyTable;
5 | import static com.gui.MainMenu.desktop1;
6 | import java.awt.Dimension;
7 | import java.sql.PreparedStatement;
8 | import javax.swing.JOptionPane;
9 | import javax.swing.JScrollPane;
10 | import javax.swing.JTable;
11 | import javax.swing.table.TableColumn;
12 |
13 | public class ViewVenue extends javax.swing.JInternalFrame {
14 |
15 | private String class_room_name;
16 |
17 | public ViewVenue() {
18 | DBConnect.connect();
19 | initComponents();
20 | createTable();
21 | }
22 |
23 | private void createTable(){
24 | String sql="select class_room_name, space_capacity from class_room";
25 |
26 | JTable table;
27 | TableColumn column = null;
28 | JScrollPane scrollPane;
29 | String meta[]={"Venue Name", "Space Capacity"};
30 | table= MyTable.createTable(sql, meta);
31 | table.setPreferredScrollableViewportSize(new Dimension(480, 200));
32 | table.setToolTipText("Select venue record and click edit or delete to edit or delete information");
33 | scrollPane = new JScrollPane(table);
34 | for (int i = 0; i < 2; i++) {
35 | column = table.getColumnModel().getColumn(i);
36 | if (i == 0) //MemberID
37 | column.setPreferredWidth(100);
38 | if (i == 1) //MemberID
39 | column.setPreferredWidth(100);
40 | }
41 |
42 | table.addMouseListener(new java.awt.event.MouseAdapter() {
43 | public void mouseClicked(java.awt.event.MouseEvent evt) {
44 | try{
45 | int row= table.getSelectedRow();
46 |
47 | class_room_name = table.getModel().getValueAt(row, 0).toString();
48 |
49 | edit.setEnabled(true);
50 | delete.setEnabled(true);
51 | }catch(Exception ex){
52 | ex.printStackTrace();
53 | System.out.println(ex.getMessage());
54 | }
55 | }
56 | });
57 |
58 | contentPanel.removeAll();
59 | scrollPane.setViewportView(table);
60 | contentPanel.add(scrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 480, 200));
61 | contentPanel.setVisible(false);
62 | contentPanel.setVisible(true);
63 | }
64 |
65 | @SuppressWarnings("unchecked")
66 | // //GEN-BEGIN:initComponents
67 | private void initComponents() {
68 |
69 | jPanel1 = new javax.swing.JPanel();
70 | jPanel2 = new javax.swing.JPanel();
71 | jLabel1 = new javax.swing.JLabel();
72 | contentPanel = new javax.swing.JPanel();
73 | jLabel2 = new javax.swing.JLabel();
74 | edit = new javax.swing.JButton();
75 | delete = new javax.swing.JButton();
76 | close = new javax.swing.JButton();
77 |
78 | setBackground(new java.awt.Color(255, 255, 255));
79 | setClosable(true);
80 | setPreferredSize(new java.awt.Dimension(515, 350));
81 | setVisible(true);
82 | getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
83 |
84 | jPanel1.setBackground(new java.awt.Color(255, 255, 255));
85 | jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
86 | jPanel1.setPreferredSize(new java.awt.Dimension(700, 480));
87 | jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
88 |
89 | jPanel2.setBackground(new java.awt.Color(0, 12, 92));
90 | jPanel2.setPreferredSize(new java.awt.Dimension(596, 488));
91 | jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
92 |
93 | jLabel1.setFont(new java.awt.Font("Tiger Expert", 1, 24)); // NOI18N
94 | jLabel1.setForeground(new java.awt.Color(255, 255, 255));
95 | jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
96 | jLabel1.setText("EDIT/DELETE VENUE INFORMATION");
97 | jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 500, 40));
98 |
99 | jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 520, 40));
100 |
101 | contentPanel.setBackground(new java.awt.Color(255, 255, 255));
102 | contentPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92)));
103 | contentPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
104 | contentPanel.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(720, 220, -1, -1));
105 |
106 | jPanel1.add(contentPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, 480, 200));
107 |
108 | edit.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
109 | edit.setText("EDIT");
110 | edit.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
111 | edit.setEnabled(false);
112 | edit.addActionListener(new java.awt.event.ActionListener() {
113 | public void actionPerformed(java.awt.event.ActionEvent evt) {
114 | editActionPerformed(evt);
115 | }
116 | });
117 | jPanel1.add(edit, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 260, 90, 35));
118 |
119 | delete.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
120 | delete.setText("DELETE");
121 | delete.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
122 | delete.setEnabled(false);
123 | delete.addActionListener(new java.awt.event.ActionListener() {
124 | public void actionPerformed(java.awt.event.ActionEvent evt) {
125 | deleteActionPerformed(evt);
126 | }
127 | });
128 | jPanel1.add(delete, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 260, 90, 35));
129 |
130 | close.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
131 | close.setText("CLOSE");
132 | close.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 12, 92), 2));
133 | close.addActionListener(new java.awt.event.ActionListener() {
134 | public void actionPerformed(java.awt.event.ActionEvent evt) {
135 | closeActionPerformed(evt);
136 | }
137 | });
138 | jPanel1.add(close, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 260, 80, 35));
139 |
140 | getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 500, 310));
141 |
142 | pack();
143 | }// //GEN-END:initComponents
144 |
145 | private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
146 | this.hide();
147 | this.dispose();
148 | }//GEN-LAST:event_closeActionPerformed
149 |
150 | private void deleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteActionPerformed
151 | try{
152 | int confirm = JOptionPane.showConfirmDialog(this, "Delecte Venue Information? Notice that all information related to the venue will also be deleted.", "Confirmation", JOptionPane.YES_NO_OPTION);
153 | PreparedStatement st;
154 |
155 | if(confirm == JOptionPane.YES_OPTION){
156 | String sql = "delete from class_room where class_room_name = ?";
157 | st = DBConnect.con.prepareStatement(sql);
158 |
159 | st.setString(1, class_room_name);
160 |
161 | st.executeUpdate();
162 |
163 | JOptionPane.showMessageDialog(this, "Venue information has been deleted","Success",JOptionPane.INFORMATION_MESSAGE);
164 |
165 | createTable();
166 | this.edit.setEnabled(false);
167 | this.delete.setEnabled(false);
168 | }
169 | }catch (Exception e) {
170 | System.err.println(e.getMessage());
171 | e.printStackTrace();
172 | }
173 | }//GEN-LAST:event_deleteActionPerformed
174 |
175 | private void editActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editActionPerformed
176 | try{
177 | PreparedStatement st;
178 | String sql = "select * from class_room where class_room_name = ?";
179 | st = DBConnect.con.prepareStatement(sql);
180 |
181 | st.setString(1, class_room_name);
182 |
183 | DBConnect.rs = st.executeQuery();
184 | DBConnect.rs.next();
185 |
186 | int class_room_id = DBConnect.rs.getInt("class_room_id");
187 |
188 | this.dispose();
189 | this.hide();
190 |
191 | EditVenue edit_venue = new EditVenue(class_room_id);
192 | desktop1.add(edit_venue, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0));
193 | edit_venue.setSelected(true);
194 | }catch (Exception e) {
195 | System.err.println(e.getMessage());
196 | e.printStackTrace();
197 | }
198 | }//GEN-LAST:event_editActionPerformed
199 |
200 |
201 | // Variables declaration - do not modify//GEN-BEGIN:variables
202 | private javax.swing.JButton close;
203 | public static javax.swing.JPanel contentPanel;
204 | private javax.swing.JButton delete;
205 | private javax.swing.JButton edit;
206 | private javax.swing.JLabel jLabel1;
207 | private javax.swing.JLabel jLabel2;
208 | private javax.swing.JPanel jPanel1;
209 | private javax.swing.JPanel jPanel2;
210 | // End of variables declaration//GEN-END:variables
211 | }
212 |
--------------------------------------------------------------------------------
/src/com/image/ico/Add16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/Add16.gif
--------------------------------------------------------------------------------
/src/com/image/ico/AdminLTELogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/AdminLTELogo.png
--------------------------------------------------------------------------------
/src/com/image/ico/Edit16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/Edit16.gif
--------------------------------------------------------------------------------
/src/com/image/ico/Exit16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/Exit16.gif
--------------------------------------------------------------------------------
/src/com/image/ico/Import16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/Import16.gif
--------------------------------------------------------------------------------
/src/com/image/ico/List16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/List16.gif
--------------------------------------------------------------------------------
/src/com/image/ico/Untitled.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/Untitled.jpg
--------------------------------------------------------------------------------
/src/com/image/ico/boxdownload32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/boxdownload32.jpg
--------------------------------------------------------------------------------
/src/com/image/ico/boxupload32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/boxupload32.jpg
--------------------------------------------------------------------------------
/src/com/image/ico/leftturnarrow32.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nuhu-ibrahim/time-table-scheduling/c14a946037647122fdf56a15a326f1be0bbd972b/src/com/image/ico/leftturnarrow32.jpg
--------------------------------------------------------------------------------
/src/com/timetable/Data.java:
--------------------------------------------------------------------------------
1 | package com.timetable;
2 |
3 | import com.data_structure.Association;
4 | import com.data_structure.DBConnect;
5 | import com.data_structure.DBConnect1;
6 | import com.data_structure.Iterator;
7 | import com.data_structure.MySearchableContainer;
8 | import com.data_structure.PrintingVisitor;
9 | import java.util.ArrayList;
10 | import java.util.Arrays;
11 |
12 | import com.genetic_algorithm_resource.Course;
13 | import com.genetic_algorithm_resource.Department;
14 | import com.genetic_algorithm_resource.Instructor;
15 | import com.genetic_algorithm_resource.MeetingTime;
16 | import com.genetic_algorithm_resource.Room;
17 | import java.sql.PreparedStatement;
18 |
19 | public class Data {
20 |
21 | private ArrayList rooms;
22 | private ArrayList instructors;
23 | private ArrayList courses;
24 | private ArrayList depts;
25 | private ArrayList meetingTimes;
26 |
27 | private Instructor[] i = new Instructor[1000];
28 | private Course[] c = new Course[1000];
29 |
30 | private int numberOfClasses = 0;
31 |
32 | public Data() throws Exception
33 | {
34 | initialize();
35 | }
36 |
37 | private Data initialize() throws Exception
38 | {
39 | PreparedStatement st;
40 | String sql = "select * from class_room";
41 | st = DBConnect.con.prepareStatement(sql);
42 | DBConnect.rs = st.executeQuery();
43 | Room room;
44 | ArrayList r = new ArrayList();
45 | while(DBConnect.rs.next()){
46 | room = new Room(DBConnect.rs.getString("class_room_name"), DBConnect.rs.getInt("space_capacity"));
47 | r.add(room);
48 | }
49 |
50 | rooms = new ArrayList(r);
51 |
52 | sql = "select * from meeting_time";
53 | st = DBConnect.con.prepareStatement(sql);
54 | DBConnect.rs = st.executeQuery();
55 | MeetingTime meetingTime;
56 | ArrayList time = new ArrayList();
57 | while(DBConnect.rs.next()){
58 | meetingTime = new MeetingTime(DBConnect.rs.getString("time_id"), DBConnect.rs.getString("time_title"));
59 | time.add(meetingTime);
60 | }
61 |
62 | meetingTimes = new ArrayList(time);
63 |
64 | sql = "select * from instructor";
65 | st = DBConnect.con.prepareStatement(sql);
66 | DBConnect.rs = st.executeQuery();
67 | Instructor instructor;
68 | ArrayList instr = new ArrayList();
69 | while(DBConnect.rs.next()){
70 | instructor = new Instructor(DBConnect.rs.getString("instructor_id"), DBConnect.rs.getString("instructor_name"));
71 | i[DBConnect.rs.getInt("instructor_id")] = instructor;
72 | instr.add(instructor);
73 | }
74 |
75 | instructors = new ArrayList(instr);
76 |
77 | sql = "select * from course";
78 | st = DBConnect.con.prepareStatement(sql);
79 | DBConnect.rs = st.executeQuery();
80 | Course course;
81 | ArrayList cour = new ArrayList();
82 | while(DBConnect.rs.next()){
83 | PreparedStatement st1;
84 | sql = "select * from instructor, course_instructor where course_instructor.course_id = ? AND course_instructor.instructor_id = instructor.instructor_id";
85 | st1 = DBConnect1.con.prepareStatement(sql);
86 | st1.setInt(1, DBConnect.rs.getInt("course_id"));
87 | DBConnect1.rs = st1.executeQuery();
88 | instr = new ArrayList();
89 |
90 | while(DBConnect1.rs.next()){
91 | instructor = i[DBConnect1.rs.getInt("instructor_id")];
92 | instr.add(instructor);
93 | }
94 | course = new Course(DBConnect.rs.getString("course_id"), DBConnect.rs.getString("course_name"), instr, DBConnect.rs.getInt("maximum_number_of_student"));
95 | cour.add(course);
96 | c[DBConnect.rs.getInt("course_id")] = course;
97 | }
98 | courses = new ArrayList(cour);
99 |
100 | MySearchableContainer all_courses = new MySearchableContainer();
101 | Association assoc;
102 |
103 | /*sql = "select * from course, class_courses where course.course_id = class_courses.course_id";
104 | st = DBConnect.con.prepareStatement(sql);
105 | DBConnect.rs = st.executeQuery();
106 | while(DBConnect.rs.next()){
107 | PreparedStatement st1;
108 | sql = "select * from instructor, course_instructor where course_instructor.course_id = ? AND course_instructor.instructor_id = instructor.instructor_id";
109 | st1 = DBConnect1.con.prepareStatement(sql);
110 | st1.setInt(1, DBConnect.rs.getInt("course_id"));
111 | DBConnect1.rs = st1.executeQuery();
112 | instr = new ArrayList();
113 |
114 | while(DBConnect1.rs.next()){
115 | instructor = new Instructor(DBConnect1.rs.getString("instructor_id"), DBConnect1.rs.getString("instructor_name"));
116 | instr.add(instructor);
117 | }
118 | course = new Course(DBConnect.rs.getString("course_id"), DBConnect.rs.getString("course_name"), instr, DBConnect.rs.getInt("maximum_number_of_student"));
119 | cour.add(course);
120 |
121 | assoc =(Association)all_courses.find(new Association(DBConnect.rs.getString("class_id")));
122 | if(assoc != null){
123 | ArrayList class_cour = (ArrayList)assoc.getValue();
124 | class_cour.add(course);
125 | assoc.setValue(class_cour);
126 | }else{
127 | ArrayList class_cour = new ArrayList();
128 | class_cour.add(course);
129 | assoc = new Association(DBConnect.rs.getString("class_id"), class_cour);
130 | all_courses.insert(assoc);
131 | }
132 | }*/
133 |
134 | sql = "select * from class";
135 | st = DBConnect.con.prepareStatement(sql);
136 | DBConnect.rs = st.executeQuery();
137 | Department department;
138 | ArrayList dept = new ArrayList();
139 | while(DBConnect.rs.next()){
140 | PreparedStatement st1;
141 | sql = "select * from course, class_courses where class_courses.class_id = ? AND class_courses.course_id = course.course_id";
142 | st1 = DBConnect1.con.prepareStatement(sql);
143 | st1.setInt(1, DBConnect.rs.getInt("class_id"));
144 | DBConnect1.rs = st1.executeQuery();
145 | instr = new ArrayList();
146 | ArrayList class_cour = new ArrayList();
147 | while(DBConnect1.rs.next()){
148 | course = c[DBConnect1.rs.getInt("course_id")];
149 | class_cour.add(course);
150 | }
151 | department = new Department(DBConnect.rs.getString("class_name"), new ArrayList(class_cour));
152 | dept.add(department);
153 | }
154 |
155 | depts = new ArrayList(dept);
156 | depts.forEach(x -> numberOfClasses += x.getCourses().size());
157 |
158 | return this;
159 | }
160 |
161 | public ArrayList getRooms()
162 | {
163 | return rooms;
164 | }
165 |
166 | public ArrayList getInstructors()
167 | {
168 | return instructors;
169 | }
170 |
171 | public ArrayList getCourses()
172 | {
173 | return courses;
174 | }
175 |
176 | public ArrayList getDepts()
177 | {
178 | return depts;
179 | }
180 |
181 | public ArrayList getMeetingTimes()
182 | {
183 | return meetingTimes;
184 | }
185 |
186 | public int getNumberOfClasses()
187 | {
188 | return this.numberOfClasses;
189 | }
190 |
191 | }
192 |
--------------------------------------------------------------------------------
/src/com/timetable/Driver.java:
--------------------------------------------------------------------------------
1 | package com.timetable;
2 |
3 | import com.data_structure.DBConnect;
4 | import com.data_structure.DBConnect1;
5 | import java.util.ArrayList;
6 |
7 | import com.genetic_algorithm_resource.Class;
8 |
9 | public class Driver {
10 | public static final int POPULATION_SIZE = 9;
11 | public static final double MUTATION_RATE = 0.1;
12 | public static final double CROSSOVER_RATE = 0.9;
13 | public static final int TOURNAMENT_SELECTION_SIZE = 3;
14 | public static final int NUMB_OF_ELITE_SCHEDULES = 1;
15 | private int scheduleNumb = 0;
16 | private int classNumb = 1;
17 | private Data data;
18 |
19 | public static void main(String[] args) {
20 | DBConnect.connect();
21 | DBConnect1.connect();
22 | Driver driver = new Driver();
23 | //driver.data = new Data();
24 | int generationNumber = 0;
25 | driver.printAvailableData();
26 | //System.out.println("> Generation # " + generationNumber);
27 | //System.out.print(" Schedule # | ");
28 | //System.out.print("Classes [dept, class, room, instructor, meeting.time]");
29 | //System.out.println(" |Fitness | Conflicts");
30 | //System.out.print("........................................................................");
31 | //System.out.println("............................................................................");
32 | GeneticAlgorithm geneticAlgorithm = new GeneticAlgorithm(driver.data);
33 | Population population = new Population(Driver.POPULATION_SIZE, driver.data).sortByFitness();
34 | //population.getSchedules().forEach(schedule -> System.out.println(" " + driver.scheduleNumb++ + " | " + schedule + " | " + String.format("%.5f", schedule.getFitness()) + " | " + schedule.getNumberOfConflicts()));
35 | //driver.printScheduleAsTable(population.getSchedules().get(0), generationNumber);
36 |
37 | driver.classNumb = 1;
38 | while (population.getSchedules().get(0).getFitness() != 1.0)
39 | {
40 | ++generationNumber;
41 | //System.out.println("> Generation # " + ++generationNumber);
42 | //System.out.print(" Schedule # | ");
43 | //System.out.print("Classes [dept,class,room,instructor,meeting.time] ");
44 | //System.out.println(" | Fitness | Conflicts");
45 | //System.out.print("......................................................................");
46 | //System.out.print("...........................................................................");
47 | population = geneticAlgorithm.evolve(population).sortByFitness();
48 | driver.scheduleNumb = 0;
49 | //population.getSchedules().forEach(schedule -> System.out.println(" " + driver.scheduleNumb++ + " | " + schedule + " | " + String.format("%.5f", schedule.getFitness()) + " | " + schedule.getNumberOfConflicts()));
50 | driver.printScheduleAsTable(population.getSchedules().get(0), generationNumber);
51 | driver.classNumb = 1;
52 | }
53 | }
54 |
55 | public void printScheduleAsTable(Schedule schedule, int generation)
56 | {
57 | ArrayList classes = schedule.getClasses();
58 | System.out.print("\n ");
59 | System.out.println("\nClass # | Dept | Course (number, max # number of students) | Room (Capacity) | Instructor (Id) | Meeting Time");
60 | //System.out.print(" ");
61 | System.out.print(".........................................");
62 | System.out.print("........................................................");
63 | classes.forEach(x -> {
64 | int majorIndex = data.getDepts().indexOf(x.getDept());
65 | int coursesIndex = data.getCourses().indexOf(x.getCourse());
66 | int roomsIndex = data.getRooms().indexOf(x.getRoom());
67 | int instructorsIndex = data.getInstructors().indexOf(x.getInstructor());
68 | int meetingTimeIndex = data.getMeetingTimes().indexOf(x.getMeetingTime());
69 | //System.out.print(" ");
70 | System.out.print(String.format("\n %1$02d ", classNumb) + " | ");
71 | System.out.print(String.format("%1$4s", data.getDepts().get(majorIndex).getName()) + " | ");
72 | System.out.print(String.format("%1$21s", data.getCourses().get(coursesIndex).getName() + " (" + data.getCourses().get(coursesIndex).getNumber() + ", " + x.getCourse().getMaxNumberOfStudents()) + ") | ");
73 | System.out.print(String.format("%1$10s", data.getRooms().get(roomsIndex).getNumber() + "(" + x.getRoom().getSeatingCapacity()) + ") | " );
74 | System.out.print(String.format("%1$15s", data.getInstructors().get(instructorsIndex).getName() + " (" + data.getInstructors().get(instructorsIndex).getId() + ")") + " | ");
75 | System.out.print(data.getMeetingTimes().get(meetingTimeIndex).getTime() + " (" + data.getMeetingTimes().get(meetingTimeIndex).getId() + ")");
76 | classNumb++;
77 | });
78 |
79 | if (schedule.getFitness() == 1) System.out.print("\n> Solution Found in " + (generation + 1) + "generations\n");
80 | System.out.print("...................................................................................");
81 | System.out.print(".......................................................................................");
82 |
83 | }
84 | int i = 0;
85 | private void printAvailableData()
86 | {
87 | System.out.println("\n------ Available Lecturers ------");
88 | i = 0;
89 | data.getInstructors().forEach(x -> System.out.println((++i)+": " + x.getName()+"\n"));
90 |
91 | System.out.println("\n------ Available Course ------");
92 | data.getCourses().forEach(x -> System.out.println("Course Title: " + x.getName() + "\nMax # of Students: " + x.getMaxNumberOfStudents() + " \nInstructor(s): " + x.getInstructors()+"\n"));
93 |
94 | System.out.println("\n------ Available Lecture Venues ------");
95 | data.getRooms().forEach(x -> System.out.println("Venue Title: " + x.getNumber() + "\nMax Seating Capacity: " + x.getSeatingCapacity()+"\n"));
96 |
97 | System.out.println("\n------ Available Meeting Times ------");
98 | i = 0;
99 | data.getMeetingTimes().forEach(x -> System.out.println((++i)+" :" + x.getTime()));
100 |
101 | System.out.println("\n\n------ Available Classes ------");
102 | data.getDepts().forEach(x -> System.out.println("Class Name: " + x.getName() + "\nCourses Offered: " + x.getCourses()+"\n"));
103 | System.out.print("...........................................................................................");
104 | System.out.println("...........................................................................................");
105 | }
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/src/com/timetable/GeneticAlgorithm.java:
--------------------------------------------------------------------------------
1 | package com.timetable;
2 |
3 | import java.util.ArrayList;
4 | import java.util.stream.IntStream;
5 |
6 | public class GeneticAlgorithm {
7 |
8 | private Data data;
9 |
10 | public GeneticAlgorithm(Data data)
11 | {
12 | this.data = data;
13 | }
14 |
15 | public Population evolve(Population population)
16 | {
17 | return mutatePopulation(crossoverPopulation(population));
18 | }
19 |
20 | Population crossoverPopulation(Population population)
21 | {
22 | Population crossoverPopulation = new Population(population.getSchedules().size(), data);
23 | IntStream.range(0, Driver.NUMB_OF_ELITE_SCHEDULES).forEach(x -> crossoverPopulation.getSchedules().set(x, population.getSchedules().get(x)));
24 |
25 | IntStream.range(Driver.NUMB_OF_ELITE_SCHEDULES, population.getSchedules().size()).forEach(x -> {
26 | if (Driver.CROSSOVER_RATE > Math.random())
27 | {
28 | Schedule schedule1 = selectTournamentPopulation(population).sortByFitness().getSchedules().get(0);
29 | Schedule schedule2 = selectTournamentPopulation(population).sortByFitness().getSchedules().get(0);
30 | crossoverPopulation.getSchedules().set(x, crossoverSchedule(schedule1, schedule2));
31 | }else crossoverPopulation.getSchedules().set(x, population.getSchedules().get(x));
32 | });
33 |
34 | return crossoverPopulation;
35 | }
36 |
37 | Schedule crossoverSchedule(Schedule schedule1, Schedule schedule2)
38 | {
39 | Schedule crossoverSchedule = new Schedule(data).initialize();
40 |
41 | IntStream.range(0, crossoverSchedule.getClasses().size()).forEach(x -> {
42 | if (Math.random() > 0.5) crossoverSchedule.getClasses().set(x, schedule1.getClasses().get(x));
43 | else crossoverSchedule.getClasses().set(x, schedule2.getClasses().get(x));
44 | });
45 |
46 | return crossoverSchedule;
47 | }
48 |
49 | Population mutatePopulation(Population population)
50 | {
51 | Population mutatePopulation = new Population(population.getSchedules().size(), data);
52 |
53 | ArrayList schedules = mutatePopulation.getSchedules();
54 |
55 | IntStream.range(0, Driver.NUMB_OF_ELITE_SCHEDULES).forEach(x -> schedules.set(x, population.getSchedules().get(x)));;
56 |
57 | IntStream.range(Driver.NUMB_OF_ELITE_SCHEDULES, population.getSchedules().size()).forEach(x -> {
58 | schedules.set(x, mutateSchedule(population.getSchedules().get(x)));
59 | });
60 |
61 | return mutatePopulation;
62 | }
63 |
64 | Schedule mutateSchedule(Schedule mutateSchedule)
65 | {
66 | Schedule schedule = new Schedule(data).initialize();
67 |
68 | IntStream.range(0, mutateSchedule.getClasses().size()).forEach(x -> {
69 | if (Driver.MUTATION_RATE > Math.random()) mutateSchedule.getClasses().set(x, schedule.getClasses().get(x));
70 | });
71 |
72 | return mutateSchedule;
73 | }
74 |
75 | Population selectTournamentPopulation(Population population)
76 | {
77 | Population tournamentPopulation = new Population(Driver.TOURNAMENT_SELECTION_SIZE, data);
78 |
79 | IntStream.range(0, Driver.TOURNAMENT_SELECTION_SIZE).forEach(x -> {
80 | tournamentPopulation.getSchedules().set(x, population.getSchedules().get((int) (Math.random() * population.getSchedules().size())));
81 | });
82 |
83 | return tournamentPopulation;
84 | }
85 |
86 | }
87 |
--------------------------------------------------------------------------------
/src/com/timetable/Population.java:
--------------------------------------------------------------------------------
1 | package com.timetable;
2 |
3 | import java.util.ArrayList;
4 | import java.util.stream.IntStream;
5 |
6 | public class Population {
7 |
8 | private ArrayList schedules;
9 |
10 | public Population(int size, Data data)
11 | {
12 | schedules = new ArrayList(size);
13 | IntStream.range(0, size).forEach(x -> schedules.add(new Schedule(data).initialize()));
14 | }
15 |
16 | public ArrayList getSchedules()
17 | {
18 | return this.schedules;
19 | }
20 |
21 | public Population sortByFitness()
22 | {
23 | schedules.sort((schedule1, schedule2) -> {
24 | int returnValue =0;
25 |
26 | if (schedule1.getFitness() > schedule2.getFitness()) returnValue = -1;
27 | else if (schedule1.getFitness() < schedule2.getFitness()) returnValue = 1;
28 | return returnValue;
29 | });
30 |
31 | return this;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/timetable/Schedule.java:
--------------------------------------------------------------------------------
1 | package com.timetable;
2 |
3 | import java.util.ArrayList;
4 |
5 | import com.genetic_algorithm_resource.Department;
6 | import com.genetic_algorithm_resource.Class;
7 |
8 | public class Schedule {
9 |
10 | private ArrayList classes;
11 | private boolean isFitnessChanged = true;
12 | private double fitness = -1;
13 | private int classNumb = 0;
14 | private int numbOfConflicts = 0;
15 | private Data data;
16 |
17 | public Data getData()
18 | {
19 | return data;
20 | }
21 |
22 | public Schedule(Data data)
23 | {
24 | this.data = data;
25 | classes = new ArrayList(data.getNumberOfClasses());
26 | }
27 |
28 | public Schedule initialize()
29 | {
30 | new ArrayList(data.getDepts()).forEach(dept -> {
31 | dept.getCourses().forEach(course -> {
32 | Class newClass = new Class(classNumb++, dept, course);
33 | newClass.setMeetingTime(data.getMeetingTimes().get((int) (data.getMeetingTimes().size() * Math.random())));
34 | newClass.setRoom(data.getRooms().get((int) (data.getRooms().size() * Math.random())));
35 | newClass.setInstructor(course.getInstructors().get((int) (course.getInstructors().size() * Math.random())));
36 | classes.add(newClass);
37 | });
38 | });
39 |
40 | return this;
41 | }
42 |
43 | public int getNumberOfConflicts()
44 | {
45 | return numbOfConflicts;
46 | }
47 |
48 | public ArrayList getClasses()
49 | {
50 | isFitnessChanged = true;
51 | return classes;
52 | }
53 |
54 | public double getFitness()
55 | {
56 | if (isFitnessChanged == true)
57 | {
58 | fitness = calculateFitness();
59 | isFitnessChanged = false;
60 | }
61 |
62 | return fitness;
63 | }
64 |
65 | private double calculateFitness()
66 | {
67 | numbOfConflicts = 0;
68 |
69 | classes.forEach(x -> {
70 | if (x.getRoom().getSeatingCapacity() < x.getCourse().getMaxNumberOfStudents()) numbOfConflicts++;
71 | classes.stream().filter(y -> classes.indexOf(y) >= classes.indexOf(x)).forEach(y -> {
72 | if (x.getMeetingTime() == y.getMeetingTime() && x.getId() != y.getId())
73 | {
74 | if (x.getRoom() == y.getRoom()) numbOfConflicts++;
75 | if (x.getInstructor() == y.getInstructor()) numbOfConflicts++;
76 | }
77 | });
78 | });
79 |
80 | return 1/(double)(numbOfConflicts + 1);
81 | }
82 |
83 | public String toString()
84 | {
85 | String returnValue = new String();
86 | for (int x = 0; x < classes.size() - 1; x++) returnValue += classes.get(x) + ",";
87 | returnValue += classes.get(classes.size() - 1);
88 | return returnValue;
89 | }
90 |
91 | }
92 |
--------------------------------------------------------------------------------