Advertisement
Guest User

Module 1

a guest
Mar 20th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 4.68 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.imageio.ImageIO;
  4. import javax.swing.*;
  5. import java.awt.*;
  6. import java.awt.image.BufferedImage;
  7. import java.io.File;
  8. import java.io.IOException;
  9.  
  10. class Window extends JFrame {
  11.  
  12.     private final String IMG_PATH = "Cat_.jpg";
  13.     private final Font font = new Font("Verdana", Font.BOLD, 15);
  14.     private final Font fontData = new Font("Verdana", Font.BOLD, 13);
  15.     private static final Font listFont = new Font("Verdana", Font.BOLD, 11);
  16.     private final Font newAccFont = new Font("Verdana", Font.PLAIN, 25);
  17.     public static final String[] dataNames = {"Names", "Gender", "Year of birth", "Salary"};
  18.     private static JPanel panel = new JPanel();
  19.  
  20.     Window() {
  21.         super("Сотрудники");
  22.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  23.         setSize(650, 500);
  24.         setLocationRelativeTo(null);
  25.         setResizable(false);
  26.         panel.setLayout(null);
  27.  
  28.         JFrame addFrame = new JFrame("New Account");
  29.         addFrame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  30.         addFrame.setSize(400, 600);
  31.         addFrame.setLocationRelativeTo(null);
  32.         addFrame.setLayout(null);
  33.         addFrame.setResizable(false);
  34.         addFrame.getContentPane().setBackground(Color.WHITE);
  35.  
  36.         JLabel empLabel = new JLabel("Сотрудники фирмы");
  37.         empLabel.setBounds(100, 1, 200, 100);
  38.         empLabel.setFont(font);
  39.         panel.add(empLabel);
  40.  
  41.         JButton addEmp = new JButton("Добавить сотрудника");
  42.         addEmp.setBounds(100, 350, 200, 50);
  43.         panel.add(addEmp);
  44.  
  45.         addEmp.addActionListener(MouseEvent -> addFrame.setVisible(true));
  46.  
  47.         try {
  48.             BufferedImage img = ImageIO.read(new File(IMG_PATH));
  49.             ImageIcon icon = new ImageIcon(img);
  50.             JLabel label = new JLabel(icon);
  51.             label.setBounds(150, 10, 100, 133);
  52.             addFrame.add(label);
  53.         } catch (IOException e) {
  54.             e.printStackTrace();
  55.         }
  56.  
  57.         JLabel newAcc = new JLabel("New Account");
  58.         newAcc.setBounds(120, 110, 200, 100);
  59.         newAcc.setFont(newAccFont);
  60.         addFrame.add(newAcc);
  61.  
  62.  
  63.         JTextField[] dataFields = new JTextField[4];
  64.         JLabel[] dataLabels = new JLabel[dataNames.length];
  65.  
  66.         int y = 150;
  67.         for (int i = 0; i < dataFields.length; i++) {
  68.             dataFields[i] = new JTextField();
  69.             dataFields[i].setBounds(100, (y += 60), 200, 30);
  70.             addFrame.add(dataFields[i]);
  71.         }
  72.  
  73.         int Y = 120;
  74.         for (int i = 0; i < dataNames.length; i++) {
  75.             dataLabels[i] = new JLabel(dataNames[i]);
  76.             dataLabels[i].setFont(fontData);
  77.             dataLabels[i].setBounds(100, (Y += 60), 200, 30);
  78.             addFrame.add(dataLabels[i]);
  79.         }
  80.  
  81.         JButton addAccount = new JButton("New Account");
  82.         addAccount.setBounds(120, 450, 160, 50);
  83.         addFrame.add(addAccount);
  84.  
  85.         //getEmp();
  86.  
  87.         addAccount.addActionListener(MouseEvent -> {
  88.             try {
  89.                 for (int i = 0; i < dataFields.length; i++)
  90.                     if (dataFields[i].getText().equals("")) {
  91.                         JOptionPane.showMessageDialog(null, "Вы заполнили не все поля");
  92.                         return;
  93.                     }
  94.                 String name = String.valueOf(dataFields[0].getText());
  95.                 String gender = String.valueOf(dataFields[1].getText());
  96.                 int yearOfBirth = Integer.parseInt(String.valueOf(dataFields[2].getText()));
  97.                 int salary = Integer.parseInt(String.valueOf(dataFields[3].getText()));
  98.                 new Employees(name, gender, yearOfBirth, salary);
  99.                 addFrame.dispose();
  100.                 getEmp();
  101.                 panel.updateUI();
  102.                 System.out.println(Employees.employees.get(Employees.employees.size() - 1));
  103.  
  104.             } catch (NumberFormatException e) {
  105.                 JOptionPane.showMessageDialog(null, "Недопустимые символы");
  106.             }
  107.         });
  108.  
  109.  
  110.         setContentPane(panel);
  111.     }
  112.  
  113.     private static void getEmp() {
  114.         DefaultListModel listModel = new DefaultListModel();
  115.  
  116.         listModel.addElement(Employees.employees.get(Employees.employees.size() - 1));
  117.  
  118.         JList empList = new JList(listModel);
  119.  
  120.         empList.setFont(listFont);
  121.         JScrollPane scrollPane = new JScrollPane(empList);
  122.         scrollPane.setBounds(100, 100, 500, 230);
  123.         panel.add(scrollPane);
  124.     }
  125.  
  126. }
  127.  
  128.  
  129. public class Main {
  130.     public static void main(String[] args) {
  131.         JFrame window = new Window();
  132.         window.setVisible(true);
  133.     }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement