Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.EventQueue;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.ListIterator;
- import javax.swing.JFrame;
- import java.awt.Color;
- import javax.swing.JTextField;
- import javax.swing.JLabel;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import javax.swing.JTextPane;
- public class Lab12 {
- static class Elem {
- String family;
- String name;
- String middle;
- int phone;
- }
- static LinkedList<Elem> list = new LinkedList<Elem>();
- private JFrame frame;
- private JTextField inputFamily;
- private JTextField inputName;
- private JTextField inputMiddle;
- private JTextField inputPhone;
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- Lab12 window = new Lab12();
- window.frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- public int CheckDelete(Elem node) {
- Iterator<Elem> iter = list.iterator();
- int count = 0;
- while (iter.hasNext()) {
- Elem temp = iter.next();
- if (temp.family.equals(node.family) || temp.name.equals(node.name) || temp.middle.equals(node.middle) || temp.phone == node.phone) return count;
- count++;
- }
- return -1;
- }
- public Lab12() {
- initialize();
- }
- private void initialize() {
- frame = new JFrame();
- frame.getContentPane().setBackground(Color.LIGHT_GRAY);
- frame.setBounds(100, 100, 631, 370);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.getContentPane().setLayout(null);
- inputFamily = new JTextField();
- inputFamily.setBounds(108, 11, 227, 20);
- frame.getContentPane().add(inputFamily);
- inputFamily.setColumns(10);
- inputName = new JTextField();
- inputName.setColumns(10);
- inputName.setBounds(108, 42, 227, 20);
- frame.getContentPane().add(inputName);
- inputMiddle = new JTextField();
- inputMiddle.setColumns(10);
- inputMiddle.setBounds(108, 73, 227, 20);
- frame.getContentPane().add(inputMiddle);
- inputPhone = new JTextField();
- inputPhone.setColumns(10);
- inputPhone.setBounds(108, 104, 227, 20);
- frame.getContentPane().add(inputPhone);
- JLabel familyLabel = new JLabel("Фамилия:");
- familyLabel.setBounds(10, 14, 67, 14);
- frame.getContentPane().add(familyLabel);
- JLabel nameLabel = new JLabel("Имя:");
- nameLabel.setBounds(10, 45, 46, 14);
- frame.getContentPane().add(nameLabel);
- JLabel middleLabel = new JLabel("Отчество:");
- middleLabel.setBounds(10, 76, 67, 14);
- frame.getContentPane().add(middleLabel);
- JLabel phoneLabel = new JLabel("Телефон:");
- phoneLabel.setBounds(10, 107, 102, 14);
- frame.getContentPane().add(phoneLabel);
- JButton submitButton = new JButton("Добавить");
- submitButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Elem elem = new Elem();
- elem.family = inputFamily.getText();
- elem.name = inputName.getText();
- elem.middle = inputMiddle.getText();
- elem.phone = Integer.parseInt(inputPhone.getText());
- list.add(elem);
- inputFamily.setText(null);
- inputName.setText(null);
- inputMiddle.setText(null);
- inputPhone.setText(null);
- }
- });
- submitButton.setBounds(345, 11, 125, 113);
- frame.getContentPane().add(submitButton);
- JTextPane outputPanel = new JTextPane();
- outputPanel.setBackground(Color.WHITE);
- outputPanel.setEditable(false);
- outputPanel.setBounds(10, 169, 595, 165);
- frame.getContentPane().add(outputPanel);
- JButton forwardButton = new JButton("Вывод в прямом");
- forwardButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Iterator<Elem> iter = list.iterator();
- String output = new String();
- while (iter.hasNext()) {
- Elem elem = new Elem();
- elem = iter.next();
- output += elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + " \n";
- }
- outputPanel.setText(output);
- }
- });
- forwardButton.setBounds(10, 135, 175, 23);
- frame.getContentPane().add(forwardButton);
- JButton outputButton = new JButton("Вывод в обратном");
- outputButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- ListIterator<Elem> iter = list.listIterator();
- String output = new String();
- while (iter.hasNext()) {
- iter.next();
- }
- while (iter.hasPrevious()) {
- Elem elem = new Elem();
- elem = iter.previous();
- output += elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + " \n";
- }
- outputPanel.setText(output);
- }
- });
- outputButton.setBounds(195, 135, 175, 23);
- frame.getContentPane().add(outputButton);
- JButton familyButton = new JButton("По фамилии");
- familyButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- String toFind = inputFamily.getText();
- Iterator<Elem> iter = list.iterator();
- String output = new String();
- while (iter.hasNext()) {
- Elem elem = new Elem();
- elem = iter.next();
- if (elem.family.equals(toFind)) {
- output = "Найдено: " + elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone;
- break;
- } else output = "Такого нет!";
- }
- inputFamily.setText(null);
- outputPanel.setText(output);
- }
- });
- familyButton.setBounds(480, 10, 125, 52);
- frame.getContentPane().add(familyButton);
- JButton deleteButton = new JButton("Удалить элемент");
- deleteButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Elem elem = new Elem();
- elem.family = inputFamily.getText();
- elem.name = inputName.getText();
- elem.middle = inputMiddle.getText();
- if (!inputPhone.getText().equals("")) elem.phone = Integer.parseInt(inputPhone.getText());
- int del = CheckDelete(elem);
- if (del != -1) {
- list.remove(del);
- outputPanel.setText("Удалено.");
- } else outputPanel.setText("Не найдено совпадений.");
- }
- });
- deleteButton.setBounds(439, 135, 166, 23);
- frame.getContentPane().add(deleteButton);
- JButton nameButton = new JButton("По имени");
- nameButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- String findName = inputName.getText();
- String output = "";
- Iterator<Elem> iter = list.iterator();
- while (iter.hasNext()) {
- Elem elem = iter.next();
- if (elem.name.equals(findName)) output = output + elem.family + " " + elem.name + " " + elem.middle + " " + elem.phone + "\n";
- }
- inputName.setText(null);
- outputPanel.setText(output);
- }
- });
- nameButton.setBounds(480, 73, 126, 51);
- frame.getContentPane().add(nameButton);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement