?? login.java
字號:
import javax.swing.*;
import java.awt.*;
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 rafUser;
String str1[]=new String[2];
String[] str2=saveToFile();
String strServerIp;
//用于將窗口定位
Dimension scrnsize;
Toolkit toolkit=Toolkit.getDefaultToolkit();
//構造方法
public Login()
{
super("登錄[HappyChat]聊天室");
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(20);
pwdPassword=new JPasswordField(20);
btnLogin=new JButton("登錄(L)");
btnLogin.setToolTipText("登錄到服務器");
btnLogin.setMnemonic('L');
btnRegister=new JButton("注冊(R)");
btnRegister.setToolTipText("注冊新用戶");
btnRegister.setMnemonic('R');
btnExit=new JButton("退出(X)");
btnExit.setToolTipText("退出系統");
btnExit.setMnemonic('X');
pnlLogin.setLayout(null);
pnlLogin.setBackground(new Color(52,130,203));
lblServer.setBounds(50,100,100,30);
txtServer.setBounds(150,100,120,25);
lblUserName.setBounds(50,130,100,30);
txtUserName.setBounds(150,130,120,25);
lblPassword.setBounds(50,160,100,30);
pwdPassword.setBounds(150,160,120,25);
btnLogin .setBounds(50,200,80,25);
btnRegister .setBounds(130,200,80,25);
btnExit .setBounds(210,200,80,25);
Font fontstr=new Font("宋體",Font.PLAIN,12);
lblServer.setFont(fontstr);
txtServer.setFont(fontstr);
lblUserName.setFont(fontstr);
txtUserName.setFont(fontstr);
lblPassword.setFont(fontstr);
pwdPassword.setFont(fontstr);
btnLogin.setFont(fontstr);
btnRegister.setFont(fontstr);
btnExit.setFont(fontstr);
lblUserName.setForeground(Color.BLACK);
lblPassword.setForeground(Color.BLACK);
btnLogin.setBackground(Color.ORANGE);
btnRegister.setBackground(Color.ORANGE);
btnExit.setBackground(Color.ORANGE);
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);
//設置背景圖片
Icon logo1 = new ImageIcon("images\\loginlogo.jpg");
lblLogo = new JLabel(logo1);
lblLogo.setBounds(0,0,340,66);
pnlLogin.add(lblLogo);
//設置登錄窗口
setResizable(false);
setSize(340,260);
setVisible(true);
scrnsize=toolkit.getScreenSize();
setLocation(scrnsize.width/2-this.getWidth()/2,
scrnsize.height/2-this.getHeight()/2);
Image img=toolkit.getImage("images\\appico.jpg");
setIconImage(img);
//三個按鈕注冊監聽
btnLogin.addActionListener(this);
btnRegister.addActionListener(this);
btnExit.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource().equals(btnLogin))
{
//判斷用戶名和密碼是否為空
if(txtUserName.getText().equals("") || pwdPassword.getText().equals(""))
{
JOptionPane op1=new JOptionPane();
op1.showMessageDialog(null,"用戶名或密碼不能為空");
return;
}
if(!txtUserName.getText().equals(str2[0]))
{
JOptionPane.showMessageDialog(null,"用戶名不正確");
return;
}
if(!pwdPassword.getText().equals(str2[1]))
{ JOptionPane.showMessageDialog(null,"密碼不正確");
return;
}
JOptionPane.showMessageDialog(null,"登錄成功");
new FileDemo();
}
if (ae.getSource().equals(btnRegister))
{
new Register();
this.dispose();
}
if (ae.getSource() == btnExit)
{
System.exit(0);
}
}
public String[] saveToFile()
{
try
{
//構造可讀寫RandomAccessFile對象
rafUser=new RandomAccessFile("user.txt","rw");
//文件指針定位到文件開始處
rafUser.seek(0);
str1[0]=rafUser.readLine();
str1[1]=rafUser.readLine();
rafUser.close();
return str1;
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"文件讀取失敗!");
return null;
}
}
public static void main(String args[])
{
new Login();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -