$20
Objective: The objective of this project is to practice using files of objects and gain more experiences in developing interactive GUI using Java Swing and AWT toolkits.
Project description:
In this assignment, you are to design a Java program to maintain a binary file of student records for the class. A student record in the file should include the following information:
. ID number, a 9-digit integer.
. Name, a string of characters
. Gender. a character
. Class level, an integer between 1 and 5.
. Age, an integer less than 100.
. 10 lab scores, integers between 0 and 100.
Your program should allow the instructor to do the following:
Create a new class.
Load students from a file.
Add new students.
View/Delete students
Enter lab scores.
Backup Students to a file
Sort Students (optional)
User interface requirement:
Your program should have a GUI closely similar to the following.
To submit your project:
A hardcopy of your Java source code.
Email a softcopy of your source code.
Demo your program on Athena before 12/06/2018.
Programming hint about your program structure
Array of Students
Programming hint about JLabel: To change the font size of a JLabel.
new JLabel(“<html><font size=5><b>JLabel text</b></html>”);
Programming hints about JTable and JScrollPane:
In the main method, create a JScrollPane and add it to the center of a JPanel, viewPane.
scrollPane = new JScrollPane(); viewPane.add(scrollPane,BorderLayout.CENTER);
In actionPerformed method,
Create a 2-D array of strings, data.
Create a JTable.
JTable abtable = new JTable(data,columnName);
Use the JTable to create a temporary JScrollPane.
JScrollPane tmp = new JScrollPane(abtable);
Get the viewport from the temporary JScrollPane and add it to the original JScrollPane.
scrollPane.setViewport(tmp.getViewport());