来源搞代码网《java使用JFrame实现图书馆登录界面》http://www.gaodaima.com/68507.html
java使用JFrame实现图书馆登录界面
关键词:java,JFrame,图书管理系统
package com.library.view; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; 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.JTextField; import com.library.biz.impl.UsersBiz; import com.library.biz.impl.UsersBizImpl; import com.libraty.entity.Users; public class UserLoginView extends JFrame{ /** * UserLoginView自创建的 */ private static final long serialVersionUID = 1L; /** 窗体内的组件 */ private JPanel panel_main=null; /**主面板 */ private JPanel panel_left=null; /** 左面板 */ private JPanel panel_right=null; /**右面板*/ /**存放图片的标签 */ private JLabel lb_img=null; /**存放图片*/ private JLabel lb_username=null; /**用户姓名*/ private JLabel lb_password=null; /**用户密码*/ private JLabel lb_user_test=null; /**用户类型*/ private JTextField tf_username=null; /**用户姓名输入框*/ private JTextField tf_password=null; /**用户密码输入框*/ private JComboBox<String> cb_type=null; /**用户类型下拉框*/ private JButton btn_login=null; /** 登陆按钮 */ private JButton btn_register=null; /** 注册按钮 */ private UsersBiz usersBiz;/** 属性依赖业务层*/ private void init() /** 定义一个方法将以上属性初始化 */ { panel_main=new JPanel(); panel_left=new JPanel(); panel_right=new JPanel(new GridLayout(4,2)); /** 网格布局 */ lb_img=new JLabel(new ImageIcon(ClassLoader.getSystemResource("images/logo.png"))); lb_username=new JLabel("用户姓名:",JLabel.CENTER); /** 用户姓名文本显示 */ lb_password=new JLabel("密 码:",JLabel.CENTER); /** 用户密码文本显示 */ lb_user_test=new JLabel("用户类型:",JLabel.CENTER); /** 用户类型文本显示 */ tf_username=new JTextField(10); /** 用户姓名输入框 */ tf_password=new JTextField(10); /** 用户密码输入框 */ cb_type=new JComboBox<String>(new String[]{"普通用户","管理员"}); /** 用户类型下拉框 */ btn_login=new JButton("登陆"); /** 登陆按钮 */ btn_register=new JButton("注册"); /** 注册按钮 */ panel_left.add(lb_img);/** 把组件放入窗体中,或者说放入布局中 */ panel_right.add(lb_username); panel_right.add(tf_username); panel_right.add(lb_password); panel_right.add(tf_password); panel_right.add(lb_user_test); panel_right.add(cb_type); panel_right.add(btn_login); panel_right.add(btn_register); panel_main.add(panel_left); panel_main.add(panel_right); this.getContentPane().add(panel_main); /** 实例化组件 */ this.setTitle("用户登录"); /** 窗体标题 */ this.setSize(320, 148); /** 设置窗体大小 */ this.setDefaultCloseOperation(EXIT_ON_CLOSE); /** 设置点击关闭程序退出 */ this.setResizable(false); /** 不可放大 */ this.setLocationRelativeTo(null); /** 居中显示 */ this.usersBiz=new UsersBizImpl(); /**对业务对象进行初始化 */ } public UserLoginView() { init(); /** 调用初始化方法 */ this.setVisible(true); registerListener(); /** 传感器时间间隔(只出现一个窗体) */ } private void registerListener() /** 给所有按钮注册侦听器 */ { /** btn_register.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new UserRegisterView(); } }); */ /**1.先给注册按钮注册侦听器*/ btn_register.addActionListener((ActionEvent e)-> { new UserRegisterView(); }); /**2.给login注册按钮注册侦听事件*/ btn_login.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { /** 登录的业务逻辑:1.先获取用户填写的用户名和密码 */ String user_name=tf_username.getText().trim(); String password=tf_password.getText().trim(); /**2.进行非空判断*/ if ("".equals(user_name)) { JOptionPane.showMessageDialog(UserLoginView.this, "请输入用户名"); return; } if ("".equals(password)) { JOptionPane.showMessageDialog(UserLoginView.this, "请输入密码"); return; } /**3.调用底层biz进行登录判断*/ Users user_info=new Users(user_name,password); Users query_user=usersBiz.login(user_info); /**4.对返回值一般是user对象进行判断,如果为空则弹出消息提示框,用户名或者密码输入错误,请重新输入,否则跳往用户操作的主界面*/ if(query_user!=null) { if(query_user.getUser_type()==1) { JOptionPane.showMessageDialog(UserLoginView.this, "恭喜"+query_user.getUser_name()+"登录成功"); new UserMainView(query_user); /** 普通用戶登錄之後的主界面 */ }else { JOptionPane.showMessageDialog(UserLoginView.this, "恭喜管理员"+query_user.getUser_name()+"登录成功"); new UserMainView(query_user); /** 管理員登錄之後的主界面 */ } }else { JOptionPane.showMessageDialog(UserLoginView.this, "用户名或者密码输入错误"); /** 如果查询用户为空 */ } } }); } }