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.
133 lines
4.1 KiB
133 lines
4.1 KiB
package view;
|
|
|
|
import java.awt.EventQueue;
|
|
import java.awt.Font;
|
|
import java.awt.event.MouseAdapter;
|
|
import java.awt.event.MouseEvent;
|
|
|
|
import javax.swing.DefaultComboBoxModel;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JComboBox;
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JOptionPane;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.JPasswordField;
|
|
import javax.swing.JTextField;
|
|
import javax.swing.border.EmptyBorder;
|
|
|
|
import dao.GuanliyuanDao;
|
|
import dao.impl.GuanliyuanImpl;
|
|
import entity.Guanliyuan;
|
|
|
|
public class LoginUI extends JFrame {
|
|
|
|
GuanliyuanDao dao = new GuanliyuanImpl();
|
|
public static String username;
|
|
public static String role;
|
|
private JPanel contentPane;
|
|
private JTextField textField;
|
|
private JPasswordField textField_1;
|
|
private JComboBox comboBox;
|
|
public static void main(String[] args) {
|
|
EventQueue.invokeLater(new Runnable() {
|
|
public void run() {
|
|
try {
|
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
|
if ("Nimbus".equals(info.getName())) {
|
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
|
break;
|
|
}
|
|
}
|
|
LoginUI frame = new LoginUI();
|
|
frame.setVisible(true);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public LoginUI() {
|
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
|
setBounds(100, 100, 643, 508);
|
|
contentPane = new JPanel();
|
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
setContentPane(contentPane);
|
|
contentPane.setLayout(null);
|
|
setTitle("家庭收支管理系统");
|
|
JLabel label = new JLabel("用户名");
|
|
label.setFont(new Font("楷体", Font.PLAIN, 20));
|
|
label.setBounds(104, 125, 110, 32);
|
|
contentPane.add(label);
|
|
|
|
textField = new JTextField();
|
|
textField.setBounds(224, 119, 227, 38);
|
|
contentPane.add(textField);
|
|
textField.setColumns(10);
|
|
|
|
JLabel label_1 = new JLabel("密码");
|
|
label_1.setFont(new Font("楷体", Font.PLAIN, 20));
|
|
label_1.setBounds(104, 210, 110, 32);
|
|
contentPane.add(label_1);
|
|
|
|
textField_1 = new JPasswordField();
|
|
textField_1.setColumns(10);
|
|
textField_1.setBounds(224, 204, 227, 38);
|
|
contentPane.add(textField_1);
|
|
|
|
JButton button = new JButton("登录");
|
|
button.addMouseListener(new MouseAdapter() {
|
|
public void mouseClicked(MouseEvent e) {
|
|
Guanliyuan gl = dao.findByUsername(textField.getText());
|
|
if(gl!=null){
|
|
if(gl.getMimayc().equals(textField_1.getText())){
|
|
username=gl.getYonghumingyc();
|
|
role=gl.getJiaoseyc();
|
|
if(!role.equals(comboBox.getSelectedItem().toString())){
|
|
JOptionPane.showMessageDialog(null, "用户名或密码错误,登录失败");
|
|
return;
|
|
}
|
|
JOptionPane.showMessageDialog(null, "登录成功");
|
|
MainUI frame = new MainUI();
|
|
frame.setVisible(true);
|
|
setVisible(false);
|
|
return;
|
|
}
|
|
}
|
|
|
|
JOptionPane.showMessageDialog(null, "用户名或密码错误,登录失败");
|
|
}
|
|
});
|
|
button.setFont(new Font("楷体", Font.PLAIN, 20));
|
|
button.setBounds(175, 371, 105, 38);
|
|
contentPane.add(button);
|
|
JButton button_1 = new JButton("注册");
|
|
button_1.addMouseListener(new MouseAdapter() {
|
|
public void mouseClicked(MouseEvent e) {
|
|
RegistUI frame = new RegistUI();
|
|
frame.setVisible(true);
|
|
}
|
|
});
|
|
button_1.setFont(new Font("楷体", Font.PLAIN, 20));
|
|
button_1.setBounds(332, 371, 105, 38);
|
|
contentPane.add(button_1);
|
|
JLabel lblNewLabel = new JLabel("家庭收支管理系统");
|
|
lblNewLabel.setFont(new Font("楷体", Font.PLAIN, 28));
|
|
lblNewLabel.setBounds(235, 28, 497, 55);
|
|
contentPane.add(lblNewLabel);
|
|
|
|
JLabel label_2 = new JLabel("角色");
|
|
label_2.setFont(new Font("楷体", Font.PLAIN, 20));
|
|
label_2.setBounds(104, 291, 110, 32);
|
|
contentPane.add(label_2);
|
|
|
|
comboBox = new JComboBox();
|
|
comboBox.setModel(new DefaultComboBoxModel(new String[] {"管理员"}));
|
|
comboBox.setBounds(224, 291, 227, 32);
|
|
contentPane.add(comboBox);
|
|
|
|
this.setLocationRelativeTo(null);
|
|
}
|
|
}
|