шпаргалки
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.5 KiB

2 years ago
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package propertiesswing;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.util.List;
import java.util.Set;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
/**
*
* @author denis
*/
public class AuthorizationFrame extends JFrame{
public AuthorizationFrame(){
init();
setTitle("Authorization");
setLocationRelativeTo(null);
setSize(400, 250);
//pack();
setResizable(false);
setVisible(true);
}
private void init(){
// Создаём верхнюю метку "Autorization" и размещаем её в панели "northPanel"
JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 40, 20));
JLabel authLabel = new JLabel("Authorization");
northPanel.add(authLabel);
GridBagLayout gridLayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
JPanel centerPanel = new JPanel(gridLayout);
JLabel usernameLabel = new JLabel("username");
JTextField usernameField = new JTextField(30);
JLabel passwordLabel = new JLabel("password");
JPasswordField passwordField = new JPasswordField(30);
constraints.gridx = 0;
constraints.gridy = 0;
centerPanel.add(usernameLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
centerPanel.add(usernameField, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
centerPanel.add(passwordLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 1;
centerPanel.add(passwordField, constraints);
//Создаём две кнопки "SingIn" и "Cancel" и размещаем их в панели "southPanel"
JButton singinButton = new JButton("SingIn");
singinButton.addActionListener(e -> {
Set<Person> persons = PersonStore.getPersonStore().getPersons();
persons.forEach(person -> {
if(usernameField.getText().equals(person.getUsername()) &&
passwordField.getText().equals(person.getPassword())){
new MainFrame();
}
});
});
JButton cancelButton = new JButton("Cancel");
cancelButton.addActionListener(e -> {
System.exit(0);
});
JPanel southPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 40, 20));
southPanel.add(singinButton);
southPanel.add(cancelButton);
//Помещаем панели в главном контейнере
getContentPane().setLayout(new BorderLayout());
getContentPane().add(northPanel, BorderLayout.NORTH);
getContentPane().add(centerPanel, BorderLayout.CENTER);
getContentPane().add(southPanel, BorderLayout.SOUTH);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}