基础java项目2( Login )

这个博客展示了如何使用Java Swing创建一个登录界面,并通过连接到数据库进行用户名和密码的验证。用户界面包括管理员选择框、密码输入框和确定按钮。当用户点击确定时,程序会检查输入的密码是否与数据库中对应管理员的密码匹配。如果密码不正确,将显示警告对话框,直到输入正确的密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.WindowEvent;
import javax.swing.JComboBox;
import java.util.*;
import javax.swing.plaf.OptionPaneUI;

class Login extends JFrame
{
    JFrame loginframe = new JFrame("登陆");
    JLabel jlbmanager;
    JLabel jlbpassword;
    JComboBox jcmbmanager;
    JTextField jtfpassword;
    JPanel manager_pan;
    JPanel password_pan;
    JPanel button_pan;
    JButton jtbOK;
    private String username;
    DATAConnection dcon = null;
     Vector managerV = null;
    //初始化
    public void jbinit(){
       loginframe.setResizable(false);
       jcmbmanager =  new JComboBox(getmanager());
       jcmbmanager.setEditable(false);
       jlbmanager = new  JLabel("管理员:");
       manager_pan = new JPanel();
       manager_pan.setLayout(new GridLayout(1,2));
       manager_pan.add(jlbmanager);
       manager_pan.add(jcmbmanager);
       loginframe.getContentPane().add(manager_pan,BorderLayout.NORTH);
       jlbpassword = new JLabel("密   码:");
       jtfpassword = new JTextField(10);
       password_pan = new JPanel();
       password_pan.setLayout(new GridLayout(1,2));
       password_pan.add(jlbpassword);
       password_pan.add(jtfpassword);
       loginframe.getContentPane().add(password_pan, BorderLayout.CENTER);
       jtbOK = new JButton("确定");
       button_pan = new JPanel();
       button_pan.add(jtbOK);
       loginframe.getContentPane().add(button_pan,BorderLayout.SOUTH);
       loginframe.setSize(200,120);
       loginframe.setVisible(true);
       jtbOK.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        log();
       }
       });
    }

   //关闭
    public void closeframe()
    {
     loginframe.setVisible(false);
     loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
   //得到管理员列表
    public String[] getmanager()
    {
          dcon = new DATAConnection();
          managerV = dcon.select("Select username from MACusers");
          int count = managerV.size();
          String[] s = new String[count];
          for(int i = 0; i < count; i ++)
          {
           s[i] = ((Vector)managerV.get(i)).get(0).toString();
          }
          return s;
    }
   //log方法
    public void log()
    {
           dcon = new DATAConnection();
           JOptionPane jtp = new JOptionPane();
           boolean flags = dcon.isNull("select * from MACusers where (username = '"+jcmbmanager.getSelectedItem().toString()+"' and password = '"+jtfpassword.getText()+"')");
           while (!flags)
           {
             jtp.showMessageDialog(loginframe,"密码不正确,请重新输入");
           }
             username = jcmbmanager.getSelectedItem().toString();
             loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             new MainFrame(username);
    }
    public String getusername()
    {
        return username;
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值