Create a student record management system using linked list and queue using Java language and database to save files and GUI Java swing to create background and also use HTML. With the following properties A . register students(assume each students has ID, first name ,last name and middle name) B.register students with courses(course no ,course title crh) C.able to maintain grade on which course they are registered d.searches students by ID displays if found E.searches by course name F. sorts student name in alphabetical order G.displays the details of all students H.Deletes a student by id I.Deletes a course by courseNo J. Handles errors in informative ways . Solution public class StudentRegistration extends JFrame implements ActionListener{ JLabel idLabel, fnameLabel, midnameLabel, lastnameLabel, courseLabel; JTextField idField, fnameField, midnameField, lastnameField, courseField; JButton registerButton; JPanel panel; List list = new ArrayList(); StudentRegistration() { setSize(800, 400); setLayout(null); idLabel = new JLabel(\"ID\"); fnameLabel = new JLabel(\"First Name\"); midnameLabel = new JLabel(\"Mid Name\"); lastnameLabel = new JLabel(\"Last Name\"); courseLabel = new JLabel(\"Course\"); // Defining ID field idField = new JTextField(); idField.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); } }); // Defining Name field fnameField = new JTextField(); fnameField.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); } }); registerButton = new JButton(\"Register\"); registerButton.addActionListener(this); add(idLabel); add(fnameLabel); add(midnameLabel); add(lastnameLabel); add(courseLabel); add(idField); add(fnameField); add(midnameField); add(lastnameField); add(courseField); add(registerButton); list.add(new User(idField.getText(), fnameField.getText(),midnameField.getText(), lastnameField.getText(),courseField.getText())); saveValues(); JOptionPane.showMessageDialog(this, \"Student Successfully Registered\"); } } public void saveValues() throws SQLException { User str = list.get(list.size()-1); Connection connection = null; Class.forName(\"com.mysql.jdbc.Driver\"); String url = \"jdbc:mysql://localhost/testdb\"; String user = \"root\"; String password = \"\"; connection = DriverManager.getConnection(url, user, password); Statement stmt = connection.createStatement(); String sql = \"INSERT INTO students(str.fname,str.midname,str.lastname,str.course) \"; stmt.execute(sql); } public static void main(String[] args) { new StudentRegistration(); } }.