实例介绍
【实例简介】入门级示例源码(swing)
用户名:feeling(管理员)
密码:123
【实例截图】
【核心代码】
package net.wms.view; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.SQLException; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; import net.wms.bean.User; import net.wms.dao.LoginUseImp; /** * 登陆界面 * 1、创建登陆界面,初始化上面的对象 * 2、美化登陆界面,设置各个对象的大小、位置、字体以及界面的背景 * 3、给按钮设置监听事件 * */ public class Login { //初始化字体 Font d = new Font("楷体", Font.BOLD, 22); Font f = new Font("楷体", Font.BOLD, 15); // 初始化对象 JFrame logingui = new JFrame("用户登录界面"); JLabel userlogin = new JLabel("用户登录"); JLabel username = new JLabel("用户名:"); JLabel password = new JLabel("密 码:"); JLabel usertyle = new JLabel("用户类型"); JTextField name = new JTextField(); JTextField pwd = new JPasswordField(); JComboBox box = new JComboBox(new String[]{"管理员","普通用户"} ); JButton login = new JButton("登陆"); //给User类初始化对象user User user = new User(); public void LoginGui() { // 设置对象 logingui.setBounds(450, 200, 400, 300); //设置退出 logingui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //取消框架格式 logingui.setLayout(null); //设置位置、大小和字体 userlogin.setBounds(140, 30, 150, 30); userlogin.setFont(d); username.setBounds(50, 80, 100, 30); username.setFont(f); password.setBounds(50, 120, 100, 30); password.setFont(f); usertyle.setBounds(70, 160, 100, 30); usertyle.setFont(f); name.setBounds(140, 80, 180, 30); name.setFont(f); pwd.setBounds(140, 120, 180, 30); box.setBounds(170, 160, 100, 30); box.setFont(f); login.setBounds(150, 200, 80, 30); login.setFont(f); // 添加对象 logingui.add(userlogin); logingui.add(username); logingui.add(password); logingui.add(usertyle); logingui.add(name); logingui.add(pwd); logingui.add(box); logingui.add(login); // 窗体可视化 logingui.setVisible(true); //设置登录图形界面的背景图片 ((JComponent) logingui.getContentPane()).setOpaque(false); //将框架强转为容器 ImageIcon img = new ImageIcon("Images//登录背景.jpg"); //传入背景图片路径 JLabel background = new JLabel(img);//将图片放进标签里 logingui.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));//将标签放进容器里 background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());//设置标签的大小 //给下拉框设置选择监听事件 box.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //判断选择选项是否和下拉框数据一致 if(box.getSelectedItem().equals("管理员")){ //设置标志量的值 user.setFlag("2"); }else{ user.setFlag("1"); } } }); //给登录按钮设置监听事件 login.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //提取文本框里的用户名和密码 String name_text = name.getText(); String pwd_text = pwd.getText(); //将得到的值存入user对象里面 user.setusername(name_text); user.setuserpwd(pwd_text); //给登陆接口实现类初始化对象 LoginUseImp l = new LoginUseImp(); //获取标志量 String state = user.getFlag(); //判断标志量,设置文本框的默认值为管理员 if(state != "1" && state != "2") { state = "2"; } //判断文本框值是不是管理员 if(state == "2") { try { //执行sql语句,进行数据库添加 boolean flag = l.Query(user, "select * from users where username=? and userpwd=? and flag=" state); if(flag) { //文本提示框 JOptionPane.showMessageDialog(null, "登陆成功"); //界面转换,隐藏原来界面 logingui.setVisible(false); //构造新的界面 new IndexAdmin(name_text); } else { //文本提示框 JOptionPane.showMessageDialog(null, "登陆失败,请检查用户名和密码"); //设置用户名框和密码框的值为空 name.setText(""); pwd.setText(""); } } catch (SQLException e1) { e1.printStackTrace(); } //判断是不是普通用户 } else if(state == "1") { try { //执行sql语句 boolean flag = l.Query(user, "select * from users where username=? and userpwd=? and flag=" state); if(flag) { JOptionPane.showMessageDialog(null, "登陆成功"); logingui.setVisible(false); new Index(name_text); } else { JOptionPane.showMessageDialog(null, "登陆失败,请检查用户名和密码"); name.setText(""); pwd.setText(""); } } catch (SQLException e1) { e1.printStackTrace(); } } } }); } //整个程序执行的入口 public static void main(String[] args) { Login l = new Login(); l.LoginGui(); } }
相关软件
网友评论
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
支持(0) 盖楼(回复)
支持(0) 盖楼(回复)