📄 login.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
//import java.applet.*;
public class Login extends JFrame implements ActionListener{
Thread chatroomthread=null;
int sPort;
JLabel name,password,welcome,tupian;
JTextField juseridfield;
JPasswordField jpasswordfield;
JButton logonButton;
JButton cancelButton;
JButton zhuceButton;
Socket soc=null;
PrintStream ps=null;
public BufferedReader reader;
public PrintWriter writer;
// Listen listen=null;
String userName;
String userPassword;
public Login(){
super("登 录");
Container container=getContentPane();
container.setLayout(null);
name=new JLabel("用户名",JLabel.CENTER);
password=new JLabel("密 码",JLabel.CENTER);
welcome=new JLabel("-----------------welcome----------------");
//ImageIcon g=new ImageIcon("images/girl.gif");
//tupian=new JLabel(g);
juseridfield=new JTextField(16);
jpasswordfield=new JPasswordField(16);
logonButton=new JButton("登录");
cancelButton=new JButton("取消");
zhuceButton=new JButton("注册");
container.add(welcome);
container.add(name);
container.add(password);
container.add(juseridfield);
container.add(jpasswordfield);
container.add(logonButton);
logonButton.addActionListener(this);
container.add(cancelButton);
cancelButton.addActionListener(this);
container.add(zhuceButton);
zhuceButton.addActionListener(this);
//container.add(tupian);
//tupian.setBounds(0, 0, 50, 50);
welcome.setBounds(50, 0, 300, 50);
name.setBounds(0, 50, 150, 30);
juseridfield.setBounds(120, 50, 120, 30);
password.setBounds(0, 120, 150, 30);
jpasswordfield.setBounds(120, 120, 120, 30);
logonButton.setBounds(50, 200, 70, 30);
zhuceButton.setBounds(125,200,70,30);
cancelButton.setBounds(200, 200, 70, 30);
setResizable(false);//设置为false用户不能调整大小
setSize(300,300);
setVisible(true);
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
disconnect();
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("登录")){
if(juseridfield.getText().equals("")){
String inputValuename = JOptionPane.showInputDialog("你还没有输入用户名,请输入!");
juseridfield.setText(inputValuename);
}
else if(jpasswordfield.getText().equals("")){
JOptionPane.showMessageDialog(null, "密码不能为空!", "提示", JOptionPane.ERROR_MESSAGE);
jpasswordfield.requestFocus();
}
else if(soc==null){
try{
sPort=6633;
//System.out.println("尝试与服务器连接");
String sName="127.0.0.1";
soc=new Socket(sName,sPort);
//soc=new Socket("222.18.181.153",sPort);
// System.out.println("连接完成");
writer=new PrintWriter(soc.getOutputStream(),true);
reader=new BufferedReader(new InputStreamReader(soc.getInputStream()));
userName=juseridfield.getText();
userPassword=jpasswordfield.getText();
//使用输出流传送用户名和密码
writer.println("LOG:"+userName+":"+userPassword+":");
getMessage(); //diao yong
}catch(Exception ie){
System.out.println("连接失败");
}
/*finally{
try{
if(soc!=null) soc.close();
}catch(IOException ie){}
}*/
}
}
if(e.getActionCommand().equals("取消")){
juseridfield.setText("");
jpasswordfield.setText("");
juseridfield.requestFocus();
}
if(e.getActionCommand().equals("注册")){
Register register=new Register(this);
this.setVisible(false);
}
}
void getMessage(){
try{
String message;
message=reader.readLine();
if(message.equals("登录失败")){
//弹出错误原因
JOptionPane.showMessageDialog(null, "登录失败!", "提示", JOptionPane.ERROR_MESSAGE);
juseridfield.setText("");
jpasswordfield.setText("");
juseridfield.requestFocus();
//Register register=new Register();
disconnect();
}
else if(message.equals("登录成功")){
// 如果登录成功则进入 聊天室
this.setVisible(false);
chatRoom chat=new chatRoom(soc,userName);
chatroomthread=new Thread(chat);
chatroomthread.start();
//cr.start();
}
}
catch(Exception e){}
}
/***********************************************************************************/
public void disconnect()
{
if(soc!=null)
{
try
{
writer.println("断开连接");
writer.flush();
soc=null;
soc.close();
}
catch(IOException e)
{
System.out.println("Error:"+e);
}
finally
{}
}
}
public static void main(String[] args){
Login jk1=new Login();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -