Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. import java.awt.EventQueue;
  2. import java.util.Iterator;
  3. import java.util.LinkedList;
  4. import java.util.ListIterator;
  5. import javax.swing.JFrame;
  6. import java.awt.Color;
  7. import javax.swing.JTextField;
  8. import javax.swing.JLabel;
  9. import javax.swing.JButton;
  10. import java.awt.event.ActionListener;
  11. import java.awt.event.ActionEvent;
  12. import javax.swing.JTextPane;
  13.  
  14. public class Lab12 {
  15.  
  16. static class Elem {
  17. String family;
  18. String name;
  19. String middle;
  20. int phone;
  21. }
  22.  
  23. static LinkedList<Elem> list = new LinkedList<Elem>();
  24.  
  25. private JFrame frame;
  26. private JTextField inputFamily;
  27. private JTextField inputName;
  28. private JTextField inputMiddle;
  29. private JTextField inputPhone;
  30.  
  31. public static void main(String[] args) {
  32. EventQueue.invokeLater(new Runnable() {
  33. public void run() {
  34. try {
  35. Lab12 window = new Lab12();
  36. window.frame.setVisible(true);
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. }
  40. }
  41. });
  42. }
  43.  
  44. public int CheckDelete(Elem node) {
  45. Iterator<Elem> iter = list.iterator();
  46. int count = 0;
  47.  
  48. while (iter.hasNext()) {
  49. Elem temp = iter.next();
  50. if (temp.family.equals(node.family) || temp.name.equals(node.name) || temp.middle.equals(node.middle) || temp.phone == node.phone) return count;
  51. count++;
  52. }
  53.  
  54. return -1;
  55. }
  56.  
  57. public Lab12() {
  58. initialize();
  59. }
  60.  
  61. private void initialize() {
  62. frame = new JFrame();
  63. frame.getContentPane().setBackground(Color.LIGHT_GRAY);
  64. frame.setBounds(100, 100, 631, 370);
  65. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  66. frame.getContentPane().setLayout(null);
  67.  
  68. inputFamily = new JTextField();
  69. inputFamily.setBounds(108, 11, 227, 20);
  70. frame.getContentPane().add(inputFamily);
  71. inputFamily.setColumns(10);
  72.  
  73. inputName = new JTextField();
  74. inputName.setColumns(10);
  75. inputName.setBounds(108, 42, 227, 20);
  76. frame.getContentPane().add(inputName);
  77.  
  78. inputMiddle = new JTextField();
  79. inputMiddle.setColumns(10);
  80. inputMiddle.setBounds(108, 73, 227, 20);
  81. frame.getContentPane().add(inputMiddle);
  82.  
  83. inputPhone = new JTextField();
  84. inputPhone.setColumns(10);
  85. inputPhone.setBounds(108, 104, 227, 20);
  86. frame.getContentPane().add(inputPhone);
  87.  
  88. JLabel familyLabel = new JLabel("Фамилия:");
  89. familyLabel.setBounds(10, 14, 67, 14);
  90. frame.getContentPane().add(familyLabel);
  91.  
  92. JLabel nameLabel = new JLabel("Имя:");
  93. nameLabel.setBounds(10, 45, 46, 14);
  94. frame.getContentPane().add(nameLabel);
  95.  
  96. JLabel middleLabel = new JLabel("Отчество:");
  97. middleLabel.setBounds(10, 76, 67, 14);
  98. frame.getContentPane().add(middleLabel);
  99.  
  100. JLabel phoneLabel = new JLabel("Телефон:");
  101. phoneLabel.setBounds(10, 107, 102, 14);
  102. frame.getContentPane().add(phoneLabel);
  103.  
  104. JButton submitButton = new JButton("Добавить");
  105. submitButton.addActionListener(new ActionListener() {
  106. public void actionPerformed(ActionEvent e) {
  107. Elem elem = new Elem();
  108. elem.family = inputFamily.getText();
  109. elem.name = inputName.getText();
  110. elem.middle = inputMiddle.getText();
  111. elem.phone = Integer.parseInt(inputPhone.getText());
  112.  
  113. list.add(elem);
  114.  
  115. inputFamily.setText(null);
  116. inputName.setText(null);
  117. inputMiddle.setText(null);
  118. inputPhone.setText(null);
  119. }
  120. });
  121. submitButton.setBounds(345, 11, 125, 113);
  122. frame.getContentPane().add(submitButton);
  123.  
  124. JTextPane outputPanel = new JTextPane();
  125. outputPanel.setBackground(Color.WHITE);
  126. outputPanel.setEditable(false);
  127. outputPanel.setBounds(10, 169, 595, 165);
  128. frame.getContentPane().add(outputPanel);
  129.  
  130. JButton forwardButton = new JButton("Вывод в прямом");
  131. forwardButton.addActionListener(new ActionListener() {
  132. public void actionPerformed(ActionEvent e) {
  133. Iterator<Elem> iter = list.iterator();
  134. String output = new String();
  135. while (iter.hasNext()) {
  136. Elem elem = new Elem();
  137. elem = iter.next();
  138. output += elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + " \n";
  139. }
  140. outputPanel.setText(output);
  141. }
  142. });
  143. forwardButton.setBounds(10, 135, 175, 23);
  144. frame.getContentPane().add(forwardButton);
  145.  
  146. JButton outputButton = new JButton("Вывод в обратном");
  147. outputButton.addActionListener(new ActionListener() {
  148. public void actionPerformed(ActionEvent e) {
  149. ListIterator<Elem> iter = list.listIterator();
  150. String output = new String();
  151. while (iter.hasNext()) {
  152. iter.next();
  153. }
  154. while (iter.hasPrevious()) {
  155. Elem elem = new Elem();
  156. elem = iter.previous();
  157. output += elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + " \n";
  158. }
  159. outputPanel.setText(output);
  160. }
  161. });
  162. outputButton.setBounds(195, 135, 175, 23);
  163. frame.getContentPane().add(outputButton);
  164.  
  165. JButton familyButton = new JButton("По фамилии");
  166. familyButton.addActionListener(new ActionListener() {
  167. public void actionPerformed(ActionEvent e) {
  168. String toFind = inputFamily.getText();
  169. Iterator<Elem> iter = list.iterator();
  170. String output = new String();
  171. while (iter.hasNext()) {
  172. Elem elem = new Elem();
  173. elem = iter.next();
  174. if (elem.family.equals(toFind)) {
  175. output = "Найдено: " + elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone;
  176. break;
  177. } else output = "Такого нет!";
  178.  
  179. }
  180. inputFamily.setText(null);
  181. outputPanel.setText(output);
  182. }
  183. });
  184. familyButton.setBounds(480, 10, 125, 52);
  185. frame.getContentPane().add(familyButton);
  186.  
  187. JButton deleteButton = new JButton("Удалить элемент");
  188. deleteButton.addActionListener(new ActionListener() {
  189. public void actionPerformed(ActionEvent e) {
  190. Elem elem = new Elem();
  191.  
  192. elem.family = inputFamily.getText();
  193. elem.name = inputName.getText();
  194. elem.middle = inputMiddle.getText();
  195. if (!inputPhone.getText().equals("")) elem.phone = Integer.parseInt(inputPhone.getText());
  196.  
  197. int del = CheckDelete(elem);
  198. if (del != -1) {
  199. list.remove(del);
  200. outputPanel.setText("Удалено.");
  201. } else outputPanel.setText("Не найдено совпадений.");
  202.  
  203. }
  204. });
  205. deleteButton.setBounds(439, 135, 166, 23);
  206. frame.getContentPane().add(deleteButton);
  207.  
  208. JButton nameButton = new JButton("По имени");
  209. nameButton.addActionListener(new ActionListener() {
  210. public void actionPerformed(ActionEvent e) {
  211. String findName = inputName.getText();
  212. String output = "";
  213. Iterator<Elem> iter = list.iterator();
  214. while (iter.hasNext()) {
  215. Elem elem = iter.next();
  216. if (elem.name.equals(findName)) output = output + elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + "\n";
  217. }
  218. inputName.setText(null);
  219. outputPanel.setText(output);
  220. }
  221. });
  222. nameButton.setBounds(480, 73, 126, 51);
  223. frame.getContentPane().add(nameButton);
  224. }
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement