java登录界面各项设置(enter登录)



import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
class Login extends JFrame implements ActionListener{
JPanel panel_top;
JPanel panel_center;
JPanel panel_bottom;
JPanel last;
JLabel username;
JTextField username_txt;
JLabel userpwd;
JPasswordField pwd;
JButton ok;
JButton cancel ;
JLabel result;
Login(String name){//构造方法
super(name);
setBounds(700,500,240,200);
setVisible (true );
setResizable(false);       //窗口大小不可改变
Container con=this.getContentPane();
con.setLayout(new GridLayout(4,0));
panel_top=new JPanel();
panel_center=new JPanel();
panel_bottom=new JPanel();
last=new JPanel();
username=new JLabel("用户名",10);
username.setBounds(10,10,30,30);
username_txt=new JTextField("请输入您的用户名");
username_txt.setColumns(10);

//定义内部类为用户文本框加鼠标监听
username_txt.addMouseListener(new MouseAdapter(){
public void mouseEntered(MouseEvent e){//鼠标进入某个组件时触发
username_txt.setBackground(Color.LIGHT_GRAY);
}
public void mouseClicked(MouseEvent e){//在某个组件上单击鼠标键时触发
   username_txt.setText("");
   result.setText("");
   username_txt.setBackground(Color.WHITE);
}
public void mouseExited(MouseEvent e){//鼠标离开某个组件时触发
   username_txt.setBackground(Color.WHITE);
}

         });


//定义内部类为用户名文本框加键盘监听
username_txt.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if (e.getKeyCode()==KeyEvent.VK_ENTER ){//按下某个按键时触发
pwd.requestFocusInWindow();
//pwd.requestFocusInWindow(); 是为pwd.文本框初始化一个输入焦点,
//也就是说当你生成窗口时,不需要用鼠标点击文本框就可以在该文本框text[0]中输入数值。
}
}
});

userpwd=new JLabel("密码");
userpwd.setBounds(10,20,30,30);
pwd=new JPasswordField();
pwd.setColumns(10);//设置此文本字段中的列数。
pwd.setEchoChar('*');
//提示字符,比如你输密码的时候,屏幕不可能让别人看见你输入的密码是什么,但是又必须让你知道你在输密码

//为密码框加键盘监听
pwd.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if (e.getKeyCode()==KeyEvent.VK_ENTER){//Key.getCode()是返回当前按钮的数值
ok.requestFocusInWindow();//在密码输入后按enter会触发确定按钮
}
}
});




ok=new JButton("确定");
ok.addActionListener(this);
cancel=new JButton("取消");
cancel.addActionListener(this);
result= new JLabel();
panel_top.add(username);
panel_top.add(username_txt);
panel_center.add(userpwd);
panel_center.add(pwd);
panel_bottom.add(ok);
panel_bottom.add(cancel);
last.add(result);
con.add(panel_top);
con.add(panel_center);
con.add(panel_bottom);
con.add(last);
con.validate();
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}


public void actionPerformed(ActionEvent e){
   if(e.getSource()==ok){
  //System.out.println("4444");
  result.setText("正在登录验证...");
  String name=username_txt.getText().trim();//trim()的方法为去掉字符两端的空格
  //System.out.println("输入的用户名为:"+name);
  String password=pwd.getText().trim();
  Connection con=null;
  String sql=null;
  ResultSet rs=null;
  Statement st=null;
  String Login_name;
  String Login_password;
  try{
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据库驱动
  System.out.println("成功加载MySQL驱动程序");
  String url="jdbc:sqlserver://localhost:1433;DatabaseName=mydb";
  Login_name="sa";
  Login_password="0821";
  try{
  con=DriverManager.getConnection(url,Login_name,Login_password);//建立连接
  System.out.println("成功连接数据库");
  }catch(Exception k){
  k.printStackTrace();
  }
  st=con.createStatement();                        
  //创建语句对象
  sql="select * from login where username='"+name+"'";
  //“ 代表java字符串          ' 代表sql的字符串           + 代表java字符串的连接
  result.setText("执行到这里ok");
  rs=st.executeQuery(sql);
  //执行查询,过调用Statement对象的executeQuery()方法进行数据的查询
 /* while(rs.next()){
  String Name=rs.getString(1);
  String Password=rs.getString(2);
  System.out.println(Name+","+Password);
  }*/
 //System.out.println(rs.getString(1));
  //System.out.println(rs.next());
  
  
  if(rs.next()){      //结果集处理,当SQL语句执行后没有返回的结果集时,该方法返回false
  System.out.println(password);
 // String Password=rs.getString(2);
  System.out.println(rs.getString (2));
  if (password.equals("123")){
  result.setText("验证通过");
  }
  else {
  
  result.setText("密码错误,请从新登录!");
  pwd.setText("");
  }
  }
  else{
  System.out.println(name);        
  System.out.println(password);
  result.setText("用户名错误,请重新登录!");
  username_txt.setText("");
  pwd.setText("");
  }
  rs.close();
  con.close();
  
  }catch(Exception ex){
  result.setText("用户名或密码有误,请重新输入!");
  }
  
   }
   else if (e.getSource()==cancel){
  System.exit(0);
   }
}
}  


public class TestLogin {


public static void main(String[] args) {
System.out.println("欢迎!");
new Login("登录");


}


}




  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的 Java Swing 登录界面的示例代码,可以供您参考: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Login extends JFrame implements ActionListener { JLabel lblTitle, lblUsername, lblPassword; JTextField txtUsername; JPasswordField txtPassword; JButton btnLogin, btnReset; public Login() { super("Login"); // 设置界面布局为网格布局 setLayout(new GridLayout(4, 2)); // 标题 lblTitle = new JLabel("Welcome to the Login Page", JLabel.CENTER); lblTitle.setFont(new Font("Arial", Font.BOLD, 18)); add(lblTitle); // 用户名 lblUsername = new JLabel("Username:", JLabel.RIGHT); add(lblUsername); txtUsername = new JTextField(); txtUsername.setToolTipText("Enter your username"); add(txtUsername); // 密码 lblPassword = new JLabel("Password:", JLabel.RIGHT); add(lblPassword); txtPassword = new JPasswordField(); txtPassword.setToolTipText("Enter your password"); add(txtPassword); // 登录按钮 btnLogin = new JButton("Login"); btnLogin.addActionListener(this); add(btnLogin); // 重置按钮 btnReset = new JButton("Reset"); btnReset.addActionListener(this); add(btnReset); // 设置窗口大小、居中显示和关闭操作 setSize(400, 200); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == btnLogin) { String username = txtUsername.getText(); String password = new String(txtPassword.getPassword()); // TODO: 验证用户名和密码 JOptionPane.showMessageDialog(this, "Logged in successfully!"); } else if (e.getSource() == btnReset) { txtUsername.setText(""); txtPassword.setText(""); } } public static void main(String[] args) { new Login(); } } ``` 这个示例代码中,我们使用了 JavaSwing 库来创建登录窗口,并添加了标题、用户名、密码、登录按钮和重置按钮。当用户点击登录按钮时,我们获取用户名和密码,并进行验证。如果验证成功,我们会弹出一个对话框来提示用户登录成功。如果用户点击重置按钮,我们会清空用户名和密码字段。 注意:这个示例代码只是一个简单的示例,实际的登录验证需要更加复杂和安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值