Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.37 KB | None | 0 0
  1. package lab04;
  2.  
  3. import javax.swing.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.util.ArrayList;
  7.  
  8. public class Window extends JFrame implements ActionListener {
  9. JButton addGrade, removeGrade, addStudent, removeStudent, chooseUserButton, displayStudentList, countAverage, removeButton,
  10. returnButton, checkPresence;
  11. JList studentsList;
  12. JLabel freqLabel;
  13. Student selectedStudent;
  14. float selectedGrade;
  15. School school = new School();
  16. ArrayList<Student> students;
  17. int freq =0;
  18.  
  19. public void startWindow(boolean visible) {
  20.  
  21. students = new ArrayList <Student>();
  22. setSize(1200, 900);
  23. setTitle("Dziennik Lekcyjny");
  24. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  25. this.getContentPane().setLayout(null);
  26. Buttons();
  27. setVisible(visible);
  28. setResizable(true);
  29. setLayout(null);
  30. }
  31.  
  32. public void Buttons() {
  33.  
  34. addGrade = new JButton("Add grades");
  35. addGrade.setBounds(450, 500, 300, 50);
  36. addGrade.setVisible(false);
  37.  
  38. addGrade.addActionListener(new ActionListener() {
  39. public void actionPerformed(ActionEvent e) {
  40. addGrade.setVisible(false);
  41. removeGrade.setVisible(false);
  42. studentsList.setVisible(false);
  43. checkPresence.setVisible(false);
  44. //here.setVisible(false);
  45. // notHere.setVisible(false);
  46. selectedStudent = (Student) studentsList.getSelectedValue();
  47. JTextField gradeField = new JTextField("grade");
  48. gradeField.setBounds(600,450,100,80);
  49. add(gradeField);
  50. //setVisible(true);
  51. JButton addB = new JButton("Add grade");
  52. addB.setBounds(450, 450, 150, 80);
  53. add(addB);
  54. addB.setVisible(true);
  55. addB.addActionListener(new ActionListener ()
  56. {
  57. public void actionPerformed(ActionEvent actionEvent) {
  58. selectedStudent.addGrade(Float.parseFloat(gradeField.getText()));
  59. addB.setVisible(false);
  60. addStudent.setVisible(true);
  61. addGrade.setVisible(true);
  62. removeGrade.setVisible(false);
  63. displayStudentList.setVisible(true);
  64. gradeField.setVisible(false);
  65. //displayStudentList.setVisible(false);
  66. }
  67. });
  68. }
  69. });
  70.  
  71. removeGrade = new JButton("Remove Grade");
  72. removeGrade.setBounds(450, 650, 300, 50);
  73. removeGrade.setVisible(false);
  74. removeGrade.addActionListener(new ActionListener() {
  75. public void actionPerformed(ActionEvent e) {
  76. selectedStudent =(Student) studentsList.getSelectedValue();
  77. JList gradesList = new JList(selectedStudent.getGrades().toArray());
  78. gradesList.setBounds(500,100,200,200);
  79. add(gradesList);
  80. gradesList.setVisible(true);
  81. removeButton = new JButton("remove grade");
  82. removeButton.setBounds(900,100,100,100);
  83. add(removeButton);
  84. removeButton.setVisible(true);
  85. removeButton.addActionListener(new ActionListener() {
  86. @Override
  87. public void actionPerformed(ActionEvent actionEvent) {
  88. selectedGrade = (Float)gradesList.getSelectedValue();
  89. selectedStudent.getGrades().remove(selectedGrade);
  90. displayStudentList.setVisible(true);
  91. studentsList.setVisible(false);
  92. removeGrade.setVisible(false);
  93. addGrade.setVisible(false);
  94. addStudent.setVisible(true);
  95. gradesList.setVisible(false);
  96. removeButton.setVisible(false);
  97.  
  98. }
  99. });
  100.  
  101.  
  102. }
  103. });
  104.  
  105. addStudent = new JButton("Add student");
  106. addStudent.setBounds(450, 400, 300, 50);
  107. addStudent.addActionListener(new ActionListener() {
  108. public void actionPerformed(ActionEvent e) {
  109. addGrade.setVisible(false);
  110. removeGrade.setVisible(false);
  111. addStudent.setVisible(false);
  112. JTextField lnField = new JTextField("last name");
  113. JTextField FNfield = new JTextField("first name");
  114. FNfield.setBounds(700, 400, 300, 70);
  115. lnField.setBounds(700, 500, 300, 70);
  116. JButton addButton = new JButton("Add");
  117. addButton.setBounds(570, 500, 70, 70);
  118. add(lnField);
  119. add(FNfield);
  120. add(addButton);
  121. addButton.addActionListener(new ActionListener() {
  122. public void actionPerformed(ActionEvent e) {
  123. students.add(new Student(FNfield.getText(), lnField.getText()));
  124. lnField.setVisible(false);
  125. addButton.setVisible(false);
  126. FNfield.setVisible(false);
  127.  
  128. }
  129. });
  130.  
  131. }
  132. });
  133.  
  134. displayStudentList = new JButton ("Display students");
  135. displayStudentList.setBounds (700,200,300,50);
  136. displayStudentList.addActionListener(new ActionListener() {
  137. public void actionPerformed(ActionEvent actionEvent) {
  138. displayStudentList.setVisible(false);
  139. addStudent.setVisible(false);
  140. studentsList = new JList (students.toArray());
  141. studentsList.setBounds(100,100,300,300);
  142. add(studentsList);
  143. studentsList.setVisible(true);
  144. selectedStudent = (Student)studentsList.getSelectedValue();
  145. addGrade.setVisible(true);
  146. removeGrade.setVisible(true);
  147.  
  148. JButton countFreq = new JButton ("Count frequency");
  149. countFreq.setBounds(800, 100, 300, 50);
  150. add(countFreq);
  151. countFreq.setVisible(true);
  152. countFreq.addActionListener(new ActionListener() {
  153. @Override
  154. public void actionPerformed(ActionEvent actionEvent) {
  155. selectedStudent = (Student)studentsList.getSelectedValue();
  156. //freq =0;
  157. for (int i=0 ; i < selectedStudent.getPresence().size(); i++)
  158. {
  159. if (selectedStudent.getPresence().get(i) == true)
  160. {
  161. freq ++;
  162. }
  163. }
  164.  
  165. float frequency =(float) freq/selectedStudent.getPresence().size() *100;
  166. freqLabel = new JLabel ();
  167. freqLabel.setBounds(600,600,100,80);
  168. freqLabel.setText(String.valueOf(frequency));
  169. add(freqLabel);
  170. freqLabel.setVisible(true);
  171. // freqLabel.setVisible(false);
  172.  
  173. // freqLabel.setVisible(true);
  174.  
  175. }
  176. });
  177. JButton checkPresence = new JButton ("Check presence");
  178. checkPresence.setBounds(800,300,200,50);
  179. add(checkPresence);
  180. studentsList.setVisible(true);
  181. checkPresence.addActionListener(new ActionListener() {
  182. @Override
  183. public void actionPerformed(ActionEvent actionEvent) {
  184. JButton here = new JButton ("Present");
  185. JButton notHere = new JButton ("Absent");
  186. here.setBounds(900,400,100,50);
  187. notHere.setBounds(900,450,100,50);
  188. add(here);
  189. add(notHere);
  190. here.setVisible(true);
  191. notHere.setVisible(true);
  192. here.addActionListener(new ActionListener() {
  193. @Override
  194. public void actionPerformed(ActionEvent actionEvent) {
  195. selectedStudent=(Student) studentsList.getSelectedValue();
  196. selectedStudent.addPresence(true);
  197.  
  198. }
  199. });
  200. notHere.addActionListener(new ActionListener() {
  201. @Override
  202. public void actionPerformed(ActionEvent actionEvent) {
  203. selectedStudent = (Student) studentsList.getSelectedValue();
  204. selectedStudent.addPresence(false);
  205. }
  206. });
  207. }
  208. });
  209.  
  210. }
  211. });
  212.  
  213.  
  214. add(addStudent);
  215. add(displayStudentList);
  216. add(removeGrade);
  217. add(addGrade);
  218.  
  219. }
  220.  
  221. @Override
  222. public void actionPerformed(ActionEvent actionEvent) {
  223.  
  224. }
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement