Advertisement
darkor

oop_lab_8

Apr 15th, 2020
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.73 KB | None | 0 0
  1. //Kravets
  2. package com.company;
  3.  
  4.  
  5. import javax.swing.*;
  6. import java.awt.*;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11.  
  12. public class lab extends JFrame {
  13.     static JFrame jFrame = getFrame();
  14.     static JPanel jPanel = new JPanel();
  15.  
  16.     public static void main(String[] args) {
  17.  
  18.         HashMap<Integer, String> myHashMap = new HashMap<Integer, String>();
  19.         myHashMap.put(324, "Jack Ivanovych Knut, Chukarina 32/12");
  20.         myHashMap.put(325, "Roman Myronovych Kravets, Zubrivska 12/35");
  21.         myHashMap.put(326, "Oleh Pavlovych Imbur, Polubotka 73A/33");
  22.         myHashMap.put(327, "Nazar Tarasovych Riznuk, Shevchenka 28/15");
  23.         myHashMap.put(328, "Ivan Tarasovych Tekliy, Monasturskogo 7/52");
  24.         myHashMap.put(329, "Ruslan Igorovych Hust, Kos-Anatolskogo 93/5");
  25.         myHashMap.put(330, "Inokentiy Olehovych Teretiy, Chornovola 8/3");
  26.         String s = "";
  27.         for(Map.Entry<Integer, String> entry: myHashMap.entrySet()){
  28.             s += entry.getKey() + " - " + entry.getValue() + "\n";
  29.         }
  30.  
  31.         jFrame.add(jPanel);
  32.  
  33.         JLabel label_head = new JLabel("Телефонна книга");
  34.  
  35.         jPanel.add(label_head,BorderLayout.NORTH);
  36.  
  37.         JTextArea jTextArea = new JTextArea(16,48);
  38.         jTextArea.setEnabled(false);
  39.         jTextArea.setDisabledTextColor(Color.black);
  40.         jTextArea.setText(s);
  41.         jTextArea.setLineWrap(true);
  42.         JScrollPane jScrollPane = new JScrollPane(jTextArea);
  43.         jPanel.add(jScrollPane);
  44.         jPanel.revalidate();
  45.  
  46.         JTextField phone_add = new JTextField(10);
  47.         jPanel.add(phone_add);
  48.  
  49.         JTextField data = new JTextField(25);
  50.         jPanel.add(data);
  51.  
  52.         JButton button_add = new JButton("Додати");
  53.         jPanel.add(button_add);
  54.  
  55.  
  56.         JLabel some_label = new JLabel("Введіть номер телефону:");
  57.         jPanel.add(some_label);
  58.  
  59.         JTextField input_phone_number = new JTextField(21);
  60.         jPanel.add(input_phone_number);
  61.  
  62.         JButton button_delete = new JButton("Видалити");
  63.         jPanel.add(button_delete);
  64.  
  65.         button_add.addActionListener(new ActionListener() {
  66.             @Override
  67.             public void actionPerformed(ActionEvent actionEvent) {
  68.                 if (phone_add.getText().matches("[0-9]+")) {
  69.                     int phone_number = Integer.parseInt(phone_add.getText());
  70.                     if ((data.getText().length()>0))
  71.                     {
  72.                         myHashMap.put(phone_number, data.getText());
  73.                         JOptionPane.showMessageDialog(null, "Абонент доданий");
  74.                         String a = "";
  75.                         for(Map.Entry<Integer, String> entry: myHashMap.entrySet()){
  76.                             a += entry.getKey() + " - " + entry.getValue() + "\n";
  77.                         }
  78.                         jTextArea.setText(a);
  79.                         data.setText("");
  80.                         phone_add.setText("");
  81.                     }
  82.                     else{
  83.                         JOptionPane.showMessageDialog(null, "Введіть дані абонента");
  84.                     }
  85.                 }
  86.                 else {
  87.                     JOptionPane.showMessageDialog(null, "Номер абонента повинен містити лише цифри");
  88.                     phone_add.setText("");
  89.                 }
  90.             }
  91.         });
  92.  
  93.         button_delete.addActionListener(new ActionListener() {
  94.             @Override
  95.             public void actionPerformed(ActionEvent actionEvent) {
  96.                 if (input_phone_number.getText().matches("[0-9]+")) {
  97.                     int phone_number = Integer.parseInt(input_phone_number.getText());
  98.                     if (myHashMap.containsKey(phone_number))
  99.                     {
  100.                         myHashMap.remove(phone_number);
  101.                         JOptionPane.showMessageDialog(null, "Абонент видалений");
  102.                         String a = "";
  103.                         for(Map.Entry<Integer, String> entry: myHashMap.entrySet()){
  104.                             a += entry.getKey() + " - " + entry.getValue() + "\n";
  105.                         }
  106.                         jTextArea.setText(a);
  107.                     }
  108.                     else{
  109.                         JOptionPane.showMessageDialog(null, "Абонент не знайдений");
  110.                     }
  111.                 }
  112.                 else {
  113.                     JOptionPane.showMessageDialog(null, "Абонент не знайдений" +
  114.                             "\nНомер повинен містити лише цифри");
  115.                 }
  116.                 input_phone_number.setText("");
  117.             }
  118.         });
  119.         jPanel.revalidate();
  120.  
  121.     }
  122.     static JFrame getFrame() {
  123.         JFrame jFrame = new JFrame() {};
  124.         jFrame.setVisible(true);
  125.         jFrame.setResizable(false);
  126.         Toolkit toolkit = Toolkit.getDefaultToolkit();
  127.         Dimension dimension = toolkit.getScreenSize();
  128.         jFrame.setBounds(dimension.width/2 - 300, dimension.height/2 - 200, 600, 400);
  129.         jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  130.         return jFrame;
  131.     }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement