diff --git a/Lab2/src/main/java/org/lumijiez/gui/StudentManagementGUI.java b/Lab2/src/main/java/org/lumijiez/gui/StudentManagementGUI.java index 44c9286..c4f3508 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/StudentManagementGUI.java +++ b/Lab2/src/main/java/org/lumijiez/gui/StudentManagementGUI.java @@ -25,7 +25,7 @@ public class StudentManagementGUI extends JFrame { private final JMenu groupMenu = new JMenu(); private final JMenu facultyMenu = new JMenu(); private final JMenuBar menuBar = new JMenuBar(); - private static final JTextArea mainTextLabel = new JTextArea(); + private static final JTextPane mainTextPane = new JTextPane(); private static Supervisor sv; private final JScrollPane mainScrollPane = new JScrollPane(); @@ -74,9 +74,10 @@ public class StudentManagementGUI extends JFrame { groupMenu.setText("Group Options"); facultyMenu.setText("Faculty Options"); - mainTextLabel.setEditable(false); - mainTextLabel.setFont(new java.awt.Font("Segoe UI", Font.PLAIN, 14)); - mainScrollPane.setViewportView(mainTextLabel); + mainTextPane.setEditable(false); + mainTextPane.setContentType("text/html"); + mainTextPane.setFont(new Font("Segoe UI", Font.PLAIN, 14)); + mainScrollPane.setViewportView(mainTextPane); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); @@ -186,7 +187,7 @@ public class StudentManagementGUI extends JFrame { } private void showFacultySpecEvent(ActionEvent actionEvent) { - ShowSpecialtyFacultyForm form = new ShowSpecialtyFacultyForm(sv, mainTextLabel); + ShowSpecialtyFacultyForm form = new ShowSpecialtyFacultyForm(sv, mainTextPane); form.setVisible(true); } @@ -265,7 +266,7 @@ public class StudentManagementGUI extends JFrame { private void showGroupEvent(ActionEvent evt) { if (checkGroup() && checkFaculty()) { - ShowGroupForm form = new ShowGroupForm(sv, mainTextLabel); + ShowGroupForm form = new ShowGroupForm(sv, mainTextPane); form.setVisible(true); } } @@ -284,7 +285,7 @@ public class StudentManagementGUI extends JFrame { private void gradeStudentEvent(ActionEvent evt) { if (checkStudent() && checkGroup() && checkFaculty()) { - GradeStudentForm form = new GradeStudentForm(sv, mainTextLabel); + GradeStudentForm form = new GradeStudentForm(sv, mainTextPane); form.setVisible(true); } } @@ -305,14 +306,14 @@ public class StudentManagementGUI extends JFrame { private void showGradeEvent(ActionEvent evt) { if (checkStudent() && checkGroup() && checkFaculty()) { - ShowStudentGradesForm form = new ShowStudentGradesForm(sv, mainTextLabel); + ShowStudentGradesForm form = new ShowStudentGradesForm(sv, mainTextPane); form.setVisible(true); } } private void showStudentEvent(ActionEvent evt) { if (checkStudent() && checkGroup() && checkFaculty()) { - ShowStudentForm form = new ShowStudentForm(sv, mainTextLabel); + ShowStudentForm form = new ShowStudentForm(sv, mainTextPane); form.setVisible(true); } } @@ -333,7 +334,7 @@ public class StudentManagementGUI extends JFrame { private void showFacultyEvent(ActionEvent evt) { if (checkFaculty()) { - ShowFacultyForm form = new ShowFacultyForm(sv, mainTextLabel); + ShowFacultyForm form = new ShowFacultyForm(sv, mainTextPane); form.setVisible(true); } } @@ -376,8 +377,8 @@ public class StudentManagementGUI extends JFrame { return true; } - public static JTextArea getMainLabel() { - return mainTextLabel; + public static JTextPane getMainPane() { + return mainTextPane; } public static Supervisor getSv() { diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowFacultyForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowFacultyForm.java index 45ab559..6cb1b61 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowFacultyForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowFacultyForm.java @@ -4,6 +4,7 @@ import org.lumijiez.base.Faculty; import org.lumijiez.base.Group; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -18,9 +19,9 @@ public class ShowFacultyForm extends JFrame { private final JButton submitButton = new JButton(); private final JComboBox facultyCombo = new JComboBox<>(); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public ShowFacultyForm(Supervisor sv, JTextArea mainTextLabel) { + public ShowFacultyForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -87,14 +88,14 @@ public class ShowFacultyForm extends JFrame { StringBuilder builder = new StringBuilder(); Faculty fac = (Faculty) facultyCombo.getSelectedItem(); assert fac != null; - builder.append("===================== Faculty Info ========================\n"); - builder.append("Name: ").append(fac.getName()).append("\n"); - builder.append("Specialty: ").append(fac.getField()).append("\n"); - builder.append("==========\n"); - builder.append("Groups: ").append("\n"); + builder.append("===================== Faculty Info ========================
"); + builder.append("Name: ").append(fac.getName()).append("
"); + builder.append("Specialty: ").append(fac.getField()).append("
"); + builder.append("Groups: ").append("
"); + builder.append("==========
"); for (Group gr : fac.getGroups()) - builder.append(gr.getName()).append("\n").append("==========\n"); - builder.append("============================================================"); + builder.append(gr.getName()).append("
").append("==========
"); + builder.append("============================================================"); mainTextLabel.setText(builder.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowSpecialtyFacultyForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowSpecialtyFacultyForm.java index cdf1d0e..8fc8873 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowSpecialtyFacultyForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/faculty/ShowSpecialtyFacultyForm.java @@ -4,6 +4,7 @@ import org.lumijiez.base.Faculty; import org.lumijiez.enums.StudyField; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -18,9 +19,9 @@ public class ShowSpecialtyFacultyForm extends JFrame { private final JButton submitButton = new JButton(); private final JComboBox specialtyCombo = new JComboBox<>(); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public ShowSpecialtyFacultyForm(Supervisor sv, JTextArea mainTextLabel) { + public ShowSpecialtyFacultyForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -87,14 +88,14 @@ public class ShowSpecialtyFacultyForm extends JFrame { StringBuilder builder = new StringBuilder(); StudyField fac = (StudyField) specialtyCombo.getSelectedItem(); assert fac != null; - builder.append("==================== Specialty Info =======================\n"); - builder.append("Specialty: ").append(fac.getName()).append("\n"); - builder.append("==========\n"); - builder.append("Faculties: ").append("\n"); + builder.append("==================== Specialty Info =======================
"); + builder.append("Specialty: ").append(fac.getName()).append("
"); + builder.append("==========
"); + builder.append("Faculties: ").append("
"); for (Faculty fc : sv.facultyManager().getFaculties()) if (fc.getField().equals(fac)) - builder.append(fc.getName()).append("\n").append("==========\n"); - builder.append("============================================================"); + builder.append(fc.getName()).append("
").append("==========
"); + builder.append("============================================================"); mainTextLabel.setText(builder.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/group/ShowGroupForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/group/ShowGroupForm.java index c115884..1d5eb05 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/group/ShowGroupForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/group/ShowGroupForm.java @@ -4,6 +4,7 @@ import org.lumijiez.base.Group; import org.lumijiez.base.Student; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -20,9 +21,9 @@ public class ShowGroupForm extends JFrame { private final JButton submitButton = new JButton(); private final JComboBox groupCombo = new JComboBox<>(); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public ShowGroupForm(Supervisor sv, JTextArea mainTextLabel) { + public ShowGroupForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -88,12 +89,12 @@ public class ShowGroupForm extends JFrame { private void submitEvent(ActionEvent evt) { StringBuilder text = new StringBuilder(); Group gr = (Group) Objects.requireNonNull(groupCombo.getSelectedItem()); - text.append("======================= Group Info =========================\n"); - text.append("=================== Group: ").append(gr.getName()).append("=====================\n"); + text.append("=================== Group: ").append(gr.getName()).append("=====================
"); for (Student student : gr.getStudents()) - text.append("Name: ").append(student.getName()).append("\nEmail: ").append(student.getEmail()) - .append("\nEnrol date: ").append(student.getEnrollmentDate()) - .append("\n===============================================\n"); + text.append("Name: ").append(student.getName()) + .append("
Email: ").append(student.getEmail()) + .append("
Enrol date: ").append(student.getEnrollmentDate()) + .append("
===============================================
"); mainTextLabel.setText(text.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/student/GradeStudentForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/student/GradeStudentForm.java index b83536d..67c52f7 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/student/GradeStudentForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/student/GradeStudentForm.java @@ -5,6 +5,7 @@ import org.lumijiez.base.Student; import org.lumijiez.enums.Subjects; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -25,9 +26,9 @@ public class GradeStudentForm extends JFrame { private final JComboBox studentCombo = new JComboBox<>(); private final JComboBox gradeCombo = new JComboBox<>(grades); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public GradeStudentForm(Supervisor sv, JTextArea mainTextLabel) { + public GradeStudentForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -121,10 +122,10 @@ public class GradeStudentForm extends JFrame { sv.addGrade(student, grade); StringBuilder builder = new StringBuilder(); - builder.append("============================================================\n"); - builder.append("Grades for ").append(student.getFullname()).append(" from ").append(student.getGroup().getName()).append(":\n"); - for (Grade gr : student.getGrades()) builder.append(gr.getSubject()).append(": ").append(gr.getGrade()).append("\n"); - builder.append("============================================================\n"); + builder.append("============================================================
"); + builder.append("Grades for ").append(student.getFullname()).append(" from ").append(student.getGroup().getName()).append(":
"); + for (Grade gr : student.getGrades()) builder.append(gr.getSubject()).append(": ").append(gr.getGrade()).append("
"); + builder.append("============================================================
"); mainTextLabel.setText(builder.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentForm.java index c56e6c9..55b234c 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentForm.java @@ -3,6 +3,7 @@ package org.lumijiez.gui.forms.student; import org.lumijiez.base.Student; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -18,9 +19,9 @@ public class ShowStudentForm extends JFrame { private final JButton submitButton = new JButton(); private final JComboBox studentCombo = new JComboBox<>(); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public ShowStudentForm(Supervisor sv, JTextArea mainTextLabel) { + public ShowStudentForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -89,16 +90,16 @@ public class ShowStudentForm extends JFrame { Student student = ((Student) Objects.requireNonNull(studentCombo.getSelectedItem())); StringBuilder text = new StringBuilder(); - text.append("====================== Student Info ======================\n"); + text.append("====================== Student Info ======================
"); mainTextLabel.setText(text.toString()); - text.append("Name: ").append(student.getFullname()).append(" \n") - .append("Group: ").append(student.getGroup().getName()) - .append(" \nFaculty: ").append(student.getFaculty().getName()) - .append(" \nEmail: ").append(student.getEmail()).append(" \n") - .append("Bday: ").append(student.getDateOfBirth()) - .append("\nEnrol date: ").append(student.getEnrollmentDate()) - .append("\nGraduated: ").append(student.isGraduated()); - text.append("\n======================================================="); + text.append("Name: ").append(student.getFullname()).append("
") + .append("Group: ").append(student.getGroup().getName()) + .append("
Faculty: ").append(student.getFaculty().getName()) + .append("
Email: ").append(student.getEmail()) + .append("
Bday: ").append(student.getDateOfBirth()) + .append("
Enrol date: ").append(student.getEnrollmentDate()) + .append("
Graduated: ").append(student.isGraduated() ? "Yes" : "No"); + text.append("
======================================================="); mainTextLabel.setText(text.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentGradesForm.java b/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentGradesForm.java index 6274b52..9f09fab 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentGradesForm.java +++ b/Lab2/src/main/java/org/lumijiez/gui/forms/student/ShowStudentGradesForm.java @@ -4,6 +4,7 @@ import org.lumijiez.base.Grade; import org.lumijiez.base.Student; import org.lumijiez.gui.util.ComboRenderer; import org.lumijiez.gui.util.ComponentDecorator; +import org.lumijiez.gui.util.Settings; import org.lumijiez.gui.util.WindowConfig; import org.lumijiez.managers.Supervisor; @@ -19,9 +20,9 @@ public class ShowStudentGradesForm extends JFrame { private final JButton submitButton = new JButton(); private final JComboBox studentCombo = new JComboBox<>(); private final Supervisor sv; - private final JTextArea mainTextLabel; + private final JTextPane mainTextLabel; - public ShowStudentGradesForm(Supervisor sv, JTextArea mainTextLabel) { + public ShowStudentGradesForm(Supervisor sv, JTextPane mainTextLabel) { this.sv = sv; this.mainTextLabel = mainTextLabel; initComponents(); @@ -89,11 +90,11 @@ public class ShowStudentGradesForm extends JFrame { private void submitEvent(ActionEvent evt) { Student student = ((Student) Objects.requireNonNull(studentCombo.getSelectedItem())); StringBuilder builder = new StringBuilder(); - builder.append("============================================================\n"); - builder.append("Grades for ").append(student.getFullname()).append(" from ").append(student.getGroup().getName()).append(":\n"); + builder.append("============================================================
"); + builder.append("Grades for ").append(student.getFullname()).append(" from ").append(student.getGroup().getName()).append(":
"); for (Grade grade : student.getGrades()) - builder.append(grade.getSubject()).append(": ").append(grade.getGrade()).append("\n"); - builder.append("============================================================\n"); + builder.append(grade.getSubject()).append(": ").append(grade.getGrade()).append("
"); + builder.append("============================================================
"); mainTextLabel.setText(builder.toString()); this.dispose(); } diff --git a/Lab2/src/main/java/org/lumijiez/gui/util/DisplayHandler.java b/Lab2/src/main/java/org/lumijiez/gui/util/DisplayHandler.java index fe19510..aef9649 100644 --- a/Lab2/src/main/java/org/lumijiez/gui/util/DisplayHandler.java +++ b/Lab2/src/main/java/org/lumijiez/gui/util/DisplayHandler.java @@ -5,64 +5,63 @@ import org.lumijiez.base.Group; import org.lumijiez.base.Student; import org.lumijiez.gui.StudentManagementGUI; + public class DisplayHandler { public static void displayStudents() { StringBuilder text = new StringBuilder(); - text.append("======================== Students ==========================\n"); - for (Student student : StudentManagementGUI.getSv().studentManager().getStudents()) { - text.append("Name: ").append(student.getFullname()).append("\nGroup: ").append(student.getGroup().getName()) - .append("\nEmail: ").append(student.getEmail()).append("\nGraduated: ").append((student.isGraduated() ? "Yes" : "No")); - text.append("\n===============================================\n"); - } - StudentManagementGUI.getMainLabel().setText(text.toString()); + text.append("======================== Students ==========================
"); + for (Student student : StudentManagementGUI.getSv().studentManager().getStudents()) + text.append("Name: ").append(student.getFullname()) + .append("
Group: ").append(student.getGroup().getName()) + .append("
Email: ").append(student.getEmail()) + .append("
Graduated: ").append((student.isGraduated() ? "Yes" : "No")) + .append("
===============================================
"); + StudentManagementGUI.getMainPane().setText(text.toString()); } public static void displayGroups() { StringBuilder text = new StringBuilder(); - text.append("========================= Groups ===========================\n"); - for (Group group : StudentManagementGUI.getSv().groupManager().getGroups()) { - text.append("Name: ").append(group.getName()).append("\nFaculty: ").append(group.getFaculty().getName()) - .append("\nNumber of students: ").append(group.getStudents().size()); - text.append("\n===============================================\n"); - } - StudentManagementGUI.getMainLabel().setText(text.toString()); + text.append("========================= Groups ===========================
"); + for (Group group : StudentManagementGUI.getSv().groupManager().getGroups()) + text.append("Name: ").append(group.getName()) + .append("
Faculty: ").append(group.getFaculty().getName()) + .append("
Number of students: ").append(group.getStudents().size()) + .append("
===============================================
"); + StudentManagementGUI.getMainPane().setText(text.toString()); } public static void displayFaculties() { StringBuilder text = new StringBuilder(); - text.append("======================= Faculties =========================\n"); - for (Faculty fac : StudentManagementGUI.getSv().facultyManager().getFaculties()) { - text.append("Name: ").append(fac.getName()).append("\nSpecialty: ").append(fac.getField().getName()) - .append("\nAbbreviation: ").append(fac.getAbbreviation()) - .append("\nNumber of groups: ").append(fac.getGroups().size()); - text.append("\n===============================================\n"); - } - StudentManagementGUI.getMainLabel().setText(text.toString()); + text.append("======================= Faculties =========================
"); + for (Faculty fac : StudentManagementGUI.getSv().facultyManager().getFaculties()) + text.append("Name: ").append(fac.getName()).append("
Specialty: ").append(fac.getField().getName()) + .append("
Abbreviation: ").append(fac.getAbbreviation()) + .append("
Number of groups: ").append(fac.getGroups().size()) + .append("
===============================================
"); + StudentManagementGUI.getMainPane().setText(text.toString()); } public static void displayGraduates() { StringBuilder text = new StringBuilder(); - text.append("======================== Students ==========================\n"); - for (Student st : StudentManagementGUI.getSv().studentManager().getStudents()) { - if (st.isGraduated()) { - text.append("Name: ").append(st.getFullname()).append("\nGroup: ").append(st.getGroup().getName()) - .append("\nGraduated: ").append("Yes"); - text.append("\n===============================================\n"); - } - } - StudentManagementGUI.getMainLabel().setText(text.toString()); + text.append("======================== Students =========================="); + for (Student st : StudentManagementGUI.getSv().studentManager().getStudents()) + if (st.isGraduated()) + text.append("Name: ").append(st.getFullname()) + .append("
Group: ").append(st.getGroup().getName()) + .append("
Graduated: ").append("Yes") + .append("
===============================================
"); + StudentManagementGUI.getMainPane().setText(text.toString()); } public static void displayEnrolled() { StringBuilder text = new StringBuilder(); - text.append("======================== Students ==========================\n"); - for (Student st : StudentManagementGUI.getSv().studentManager().getStudents()) { - if (!st.isGraduated()) { - text.append("Name: ").append(st.getFullname()).append("\nGroup: ").append(st.getGroup().getName()) - .append("\nGraduated: ").append("No"); - text.append("\n===============================================\n"); - } - } - StudentManagementGUI.getMainLabel().setText(text.toString()); + text.append("======================== Students ==========================
"); + for (Student st : StudentManagementGUI.getSv().studentManager().getStudents()) + if (!st.isGraduated()) + text.append("Name: ").append(st.getFullname()) + .append("
Group: ").append(st.getGroup().getName()) + .append("
Graduated: ").append("No") + .append("
===============================================
"); + StudentManagementGUI.getMainPane().setText(text.toString()); } } diff --git a/Lab2/src/main/java/org/lumijiez/gui/util/Settings.java b/Lab2/src/main/java/org/lumijiez/gui/util/Settings.java new file mode 100644 index 0000000..8ab2853 --- /dev/null +++ b/Lab2/src/main/java/org/lumijiez/gui/util/Settings.java @@ -0,0 +1,5 @@ +package org.lumijiez.gui.util; + +public class Settings { + public static int FontSize = 5; +}