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("登录");


}


}




你可能感兴趣的:(JAVA,awt/swing)