Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.06 KB | None | 0 0
  1. import java.awt.Button;
  2. import java.awt.Color;
  3. import java.awt.FlowLayout;
  4. import java.awt.Frame;
  5. import java.awt.GridLayout;
  6. import java.awt.Panel;
  7.  
  8. public class Student extends Frame {
  9. private static final long serialVersionUID = -661122977186348694L;
  10.  
  11. Button Exit = new Button("Exit");
  12. Button Add = new Button("Add Student");
  13. Button Show = new Button("Show information about students");
  14.  
  15. public Student() {
  16. setLayout(new FlowLayout());
  17. setBackground(Color.WHITE);
  18. Panel ButtonPanel = new Panel();
  19. ButtonPanel.setLayout(new GridLayout(3, 1));
  20. ButtonPanel.add(Add);
  21. ButtonPanel.add(Show);
  22. ButtonPanel.add(Exit);
  23. add(ButtonPanel);
  24.  
  25. StudentEvent e = new StudentEvent();
  26. Add.addActionListener(e);
  27. Show.addActionListener(e);
  28. Exit.addActionListener(e);
  29. }
  30.  
  31. public static void main(String[] args) {
  32. Student gui = new Student();
  33. gui.addWindowListener(new WindowClosingAdapter(true));
  34. gui.setSize(300, 150);
  35. gui.setLocation(300, 150);
  36. gui.setTitle("Menu");
  37. gui.setVisible(true);
  38. gui.setResizable(false);
  39.  
  40. }
  41.  
  42. }
  43.  
  44.  
  45. import java.awt.Button;
  46. import java.awt.Checkbox;
  47. import java.awt.CheckboxGroup;
  48. import java.awt.Color;
  49. import java.awt.Dimension;
  50. import java.awt.FlowLayout;
  51. import java.awt.Frame;
  52. import java.awt.GridLayout;
  53. import java.awt.Label;
  54. import java.awt.Panel;
  55. import java.awt.TextField;
  56. import java.awt.event.ActionEvent;
  57. import java.awt.event.ActionListener;
  58. import java.io.BufferedReader;
  59. import java.io.BufferedWriter;
  60. import java.io.FileReader;
  61. import java.io.FileWriter;
  62. import java.util.ArrayList;
  63.  
  64. public class StudentEvent implements ActionListener {
  65. Label Name = new Label("Name");
  66. Label FacNum = new Label("Faculty Number");
  67. Label Marks = new Label("Marks ");
  68. Label Gender = new Label("Gender");
  69. TextField NameTxt = new TextField(30);
  70. TextField FacNumTxt = new TextField(7);
  71. TextField MarksTxt1 = new TextField(10);
  72. TextField MarksTxt2 = new TextField(10);
  73. TextField MarksTxt3 = new TextField(10);
  74. TextField MarksTxt4 = new TextField(10);
  75. TextField MarksTxt5 = new TextField(10);
  76. TextField GenderTxt = new TextField(7);
  77. Button Save = new Button("Save to file");
  78. Button Back = new Button("Back");
  79. Button Next = new Button("Next");
  80. Button Previous = new Button("Previous");
  81. Button Menu = new Button("Menu");
  82. CheckboxGroup ChGroup = new CheckboxGroup();
  83. Checkbox Male = new Checkbox("Male", ChGroup, false);
  84. Checkbox Female = new Checkbox("Female", ChGroup, false);
  85. ArrayList<String> Names = new ArrayList<String>();
  86. ArrayList<String> FacNumbers = new ArrayList<String>();
  87. ArrayList<String> MarkList = new ArrayList<String>();
  88. ArrayList<String> Genders = new ArrayList<String>();
  89. int StudentsNumber = 0;
  90. int MarksNumber = 0;
  91. Frame AddInfoWND;
  92. Frame ShowInfoWND;
  93.  
  94. public void actionPerformed(ActionEvent e) {
  95. try {
  96. String command = e.getActionCommand();
  97. switch (command) {
  98. case "Add Student": {
  99. AddInfoWND = new Frame();
  100. AddInfoWND.addWindowListener(new WindowClosingAdapter(false));
  101. AddInfoWND.setSize(600, 400);
  102. AddInfoWND.setVisible(true);
  103. AddInfoWND.setResizable(false);
  104. Panel layoutAdd = new Panel();
  105. layoutAdd.setLayout(new FlowLayout());
  106. Panel labelPanel = new Panel();
  107. labelPanel.setLayout(new GridLayout(2, 1));
  108. labelPanel.add(Name);
  109. labelPanel.add(FacNum);
  110. Panel textPanel = new Panel();
  111. textPanel.setLayout(new GridLayout(2, 1));
  112. textPanel.add(NameTxt);
  113. textPanel.add(FacNumTxt);
  114. Panel radioPanel = new Panel();
  115. radioPanel.setLayout(new GridLayout(1, 3));
  116. radioPanel.add(Gender);
  117. radioPanel.add(Male);
  118. radioPanel.add(Female);
  119. Panel MarksPanel = new Panel();
  120. MarksPanel.setLayout(new GridLayout(1, 5));
  121. MarksPanel.setPreferredSize(new Dimension(300, 30));
  122. MarksPanel.add(Marks);
  123. MarksPanel.add(MarksTxt1);
  124. MarksPanel.add(MarksTxt2);
  125. MarksPanel.add(MarksTxt3);
  126. MarksPanel.add(MarksTxt4);
  127. MarksPanel.add(MarksTxt5);
  128. Panel buttonPanel = new Panel();
  129. buttonPanel.setLayout(new GridLayout(1, 2));
  130. buttonPanel.add(Save);
  131. buttonPanel.add(Back);
  132. NameTxt.setEditable(true);
  133. FacNumTxt.setEditable(true);
  134. GenderTxt.setEditable(true);
  135. MarksTxt1.setEditable(true);
  136. MarksTxt2.setEditable(true);
  137. MarksTxt3.setEditable(true);
  138. MarksTxt4.setEditable(true);
  139. MarksTxt5.setEditable(true);
  140. removeDialog();
  141. layoutAdd.add(labelPanel);
  142. layoutAdd.add(textPanel);
  143. layoutAdd.add(MarksPanel);
  144. layoutAdd.add(radioPanel);
  145. layoutAdd.add(buttonPanel);
  146. AddInfoWND.add(layoutAdd);
  147. Save.addActionListener(this);
  148. Back.addActionListener(this);
  149. break;
  150. }
  151. case "Show information about students": {
  152. ShowInfoWND = new Frame();
  153. ShowInfoWND.setBackground(Color.WHITE);
  154. ShowInfoWND.addWindowListener(new WindowClosingAdapter(false));
  155. ShowInfoWND.setSize(600, 400);
  156. ShowInfoWND.setLocation(300, 150);
  157. ShowInfoWND.setTitle("Showing information");
  158. ShowInfoWND.setVisible(true);
  159. ShowInfoWND.setResizable(false);
  160. Panel layoutShow = new Panel();
  161. layoutShow.setLayout(new FlowLayout());
  162. Panel labelPanel2 = new Panel();
  163. labelPanel2.setLayout(new GridLayout(3, 1));
  164. labelPanel2.add(Name);
  165. labelPanel2.add(FacNum);
  166. labelPanel2.add(Gender);
  167. Panel textPanel2 = new Panel();
  168. textPanel2.setLayout(new GridLayout(3, 1));
  169. textPanel2.add(NameTxt);
  170. textPanel2.add(FacNumTxt);
  171. textPanel2.add(GenderTxt);
  172. Panel marksPanel2 = new Panel();
  173. marksPanel2.setLayout(new GridLayout(1, 6));
  174. marksPanel2.setPreferredSize(new Dimension(300, 30));
  175. marksPanel2.add(Marks);
  176. marksPanel2.add(MarksTxt1);
  177. marksPanel2.add(MarksTxt2);
  178. marksPanel2.add(MarksTxt3);
  179. marksPanel2.add(MarksTxt4);
  180. marksPanel2.add(MarksTxt5);
  181. Panel buttonPanel2 = new Panel();
  182. buttonPanel2.setLayout(new GridLayout(1, 3));
  183. buttonPanel2.add(Previous);
  184. buttonPanel2.add(Menu);
  185. buttonPanel2.add(Next);
  186. NameTxt.setEditable(false);
  187. FacNumTxt.setEditable(false);
  188. MarksTxt1.setEditable(false);
  189. MarksTxt2.setEditable(false);
  190. MarksTxt3.setEditable(false);
  191. MarksTxt4.setEditable(false);
  192. MarksTxt5.setEditable(false);
  193. GenderTxt.setEditable(false);
  194. layoutShow.add(labelPanel2);
  195. layoutShow.add(textPanel2);
  196. layoutShow.add(marksPanel2);
  197. layoutShow.add(buttonPanel2);
  198. ShowInfoWND.add(layoutShow);
  199. Previous.addActionListener(this);
  200. Next.addActionListener(this);
  201. Menu.addActionListener(this);
  202. BufferedReader br = new BufferedReader(new FileReader("Students.txt"));
  203. String row;
  204. Names.clear();
  205. FacNumbers.clear();
  206. Genders.clear();
  207. MarkList.clear();
  208. while ((row = br.readLine()) != null) {
  209. String part[] = row.split("-");
  210. Names.add(part[0]);
  211. FacNumbers.add(part[1]);
  212. Genders.add(part[7]);
  213. MarkList.add(part[2]);
  214. MarkList.add(part[3]);
  215. MarkList.add(part[4]);
  216. MarkList.add(part[5]);
  217. MarkList.add(part[6]);
  218. }
  219. NameTxt.setText(Names.get(StudentsNumber));
  220. FacNumTxt.setText(FacNumbers.get(StudentsNumber));
  221. GenderTxt.setText(Genders.get(StudentsNumber));
  222. MarksTxt1.setText(MarkList.get(MarksNumber));
  223. MarksTxt2.setText(MarkList.get(MarksNumber + 1));
  224. MarksTxt3.setText(MarkList.get(MarksNumber + 2));
  225. MarksTxt4.setText(MarkList.get(MarksNumber + 3));
  226. MarksTxt5.setText(MarkList.get(MarksNumber + 4));
  227. br.close();
  228. break;
  229. }
  230. case "Next": {
  231. if (StudentsNumber < Names.size() - 1) {
  232. StudentsNumber++;
  233. MarksNumber = MarksNumber + 5;
  234. NameTxt.setText(Names.get(StudentsNumber));
  235. FacNumTxt.setText(FacNumbers.get(StudentsNumber));
  236. GenderTxt.setText(Genders.get(StudentsNumber));
  237. MarksTxt1.setText(MarkList.get(MarksNumber));
  238. MarksTxt2.setText(MarkList.get(MarksNumber + 1));
  239. MarksTxt3.setText(MarkList.get(MarksNumber + 2));
  240. MarksTxt4.setText(MarkList.get(MarksNumber + 3));
  241. MarksTxt5.setText(MarkList.get(MarksNumber + 4));
  242. }
  243. break;
  244. }
  245. case "Previous": {
  246. if (StudentsNumber > 0) {
  247. StudentsNumber--;
  248. MarksNumber--;
  249. NameTxt.setText(Names.get(StudentsNumber));
  250. FacNumTxt.setText(FacNumbers.get(StudentsNumber));
  251. GenderTxt.setText(Genders.get(StudentsNumber));
  252. MarksTxt1.setText(MarkList.get(MarksNumber--));
  253. MarksTxt2.setText(MarkList.get(MarksNumber--));
  254. MarksTxt3.setText(MarkList.get(MarksNumber--));
  255. MarksTxt4.setText(MarkList.get(MarksNumber--));
  256. MarksTxt5.setText(MarkList.get(MarksNumber));
  257. }
  258. break;
  259. }
  260. case "Save to file": {
  261. String name = NameTxt.getText();
  262. String FacN = FacNumTxt.getText();
  263. String Mark1 = MarksTxt1.getText();
  264. String Mark2 = MarksTxt2.getText();
  265. String Mark3 = MarksTxt3.getText();
  266. String Mark4 = MarksTxt4.getText();
  267. String Mark5 = MarksTxt5.getText();
  268. Checkbox Gender = ChGroup.getSelectedCheckbox();
  269. FileWriter stream = new FileWriter("Students.txt", true);
  270. BufferedWriter out = new BufferedWriter(stream);
  271. out.write(name + "-");
  272. out.write(FacN + "-");
  273. out.write(Mark1 + "-");
  274. out.write(Mark2 + "-");
  275. out.write(Mark3 + "-");
  276. out.write(Mark4 + "-");
  277. out.write(Mark5 + "-");
  278. out.write(Gender.getLabel() + System.lineSeparator());
  279. out.close();
  280. removeDialog();
  281. break;
  282. }
  283. case "Back": {
  284. if (AddInfoWND != null) {
  285. AddInfoWND.setVisible(false);
  286. AddInfoWND.dispose();
  287. }
  288. break;
  289. }
  290. case "Menu": {
  291. if (ShowInfoWND != null) {
  292. ShowInfoWND.setVisible(false);
  293. ShowInfoWND.dispose();
  294. }
  295. break;
  296. }
  297. }
  298. if (e.getActionCommand().equals("Exit")) {
  299. System.exit(0);
  300. }
  301. } catch (Exception ex) {
  302. System.out.println(ex.getMessage());
  303. }
  304. }
  305.  
  306. private void removeDialog() {
  307. NameTxt.setText("");
  308. FacNumTxt.setText("");
  309. MarksTxt1.setText("");
  310. MarksTxt2.setText("");
  311. MarksTxt3.setText("");
  312. MarksTxt4.setText("");
  313. MarksTxt5.setText("");
  314. GenderTxt.setText("");
  315. ChGroup.setCurrent(null);
  316. }
  317. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement