?? login.java
字號:
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
public class Login extends JFrame implements ActionListener
{
JPanel pnlLogin;
JButton btnLogin,btnRegister,btnExit;
JLabel lblServer,lblUserName,lblPassword,lblLogo;
JTextField txtUserName,txtServer;
JPasswordField pwdPassword;
RandomAccessFile ras;
//用于窗口定位
Dimension scrnsize;
Toolkit tk=Toolkit.getDefaultToolkit();
Conn c;
//構造方法
public Login(){
super("登錄聊天室");
c=new Conn();
pnlLogin=new JPanel();
this.getContentPane().add(pnlLogin);
//初始化組件
lblServer=new JLabel("服務器(S):");
lblUserName=new JLabel("用戶名(U):");
lblPassword=new JLabel("口令(P):");
txtServer=new JTextField(20);
txtServer.setText("127.0.0.1");
txtUserName=new JTextField("");
pwdPassword=new JPasswordField("");
btnLogin=new JButton("登錄(L)");
btnLogin.addActionListener(this);
btnLogin.setToolTipText("登錄到服務器");
btnLogin.setMnemonic('L');
btnRegister=new JButton("注冊(R)");
btnRegister.addActionListener(this);
btnRegister.setToolTipText("注冊新用戶");
btnRegister.setMnemonic('R');
btnExit=new JButton("退出(X)");
btnExit.addActionListener(this);
btnExit.setToolTipText("退出系統");
btnExit.setMnemonic('X');
//設置面板背景顏色
pnlLogin.setBackground(new Color(52,130,203));
//設置組件位置
pnlLogin.setLayout(null);
lblServer.setBounds(70,100,80,30);
txtServer.setBounds(140,100,120,25);
lblUserName.setBounds(70,130,80,30);
txtUserName.setBounds(140,130,120,25);
lblPassword.setBounds(70,160,80,30);
pwdPassword.setBounds(140,160,120,25);
btnLogin.setBounds(50,200,80,25);
btnRegister.setBounds(130,200,80,25);
btnExit.setBounds(210,200,80,25);
//設置組件字體
Font font=new Font("宋體",Font.PLAIN,12);
btnLogin.setFont(font);
btnRegister.setFont(font);
btnExit.setFont(font);
//設置組件背景顏色
lblUserName.setForeground(Color.BLACK);
lblPassword.setForeground(Color.BLACK);
btnLogin.setBackground(Color.green);
btnRegister.setBackground(Color.green);
btnExit.setBackground(Color.green);
//設置背景圖片
Icon logo=new ImageIcon("e:/java/images/loginlogo.jpg");
lblLogo=new JLabel(logo);
lblLogo.setBounds(0,0,340,60);
//添加到組件面板
pnlLogin.add(lblLogo);
pnlLogin.add(lblServer);
pnlLogin.add(txtServer);
pnlLogin.add(lblUserName);
pnlLogin.add(txtUserName);
pnlLogin.add(lblPassword);
pnlLogin.add(pwdPassword);
pnlLogin.add(btnLogin);
pnlLogin.add(btnRegister);
pnlLogin.add(btnExit);
//設置登錄窗口
scrnsize=tk.getScreenSize();
setLocation(scrnsize.width/2-this.getWidth()/2,scrnsize.height/2-this.getHeight()/2);
Image img=tk.getImage("e:/java/images/login_qq.jpg");
setIconImage(img);
setResizable(false);
setSize(340,260);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//按鈕監聽響應
public void actionPerformed(ActionEvent ae)
{
Object source=ae.getSource();
JOptionPane op1=new JOptionPane();
String strUser;
if(source==btnLogin)
{
//判斷用戶名與密碼是否為空
if(txtUserName.getText().equals("") || pwdPassword.getPassword().length==0)
{
op1.showMessageDialog(null,"用戶名或密碼不能為空","提示",JOptionPane.INFORMATION_MESSAGE);
return;
}
String sql="select * from users where U_Name='"+txtUserName.getText()+"'and U_pass='"+pwdPassword.getText()+"'";
//調用Conn類下的方法進行用戶名和密碼校驗
if(c.executesql(sql))
{
new Chat();
this.dispose();
}
//利用文件校驗
/* boolean t=false;
ras=new RandomAccessFile("user.txt","r");
while((strUser=ras.readLine())!=null)
{
if(strUser.equals(txtUserName.getText()))
{
if(ras.readLine().equals(pwdPassword.getText()))
{
JOptionPane.showMessageDialog(null,"登錄成功");
t=true;
break;
}
}
}
ras.close();
if(t)
{
new Chat();
this.dispose();
}*/
// catch(Exception e){JOptionPane.showMessageDialog(null,"登錄失敗!");}
}
if(source==btnExit)
{
Object[] options={"是","否"};
Object s=op1.showOptionDialog(null,"確認退出","提示",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,options,options[0]);
int i=Integer.parseInt(s.toString());
if(i==0)
System.exit(0);
}
if(source==btnRegister)
{
new Register();
this.dispose();
}
}
public static void main(String args[]){
new Login();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -