📄 login.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.net.*;
import java.io.*;
import java.util.*;
public class Login extends JFrame implements ActionListener
{
JPanel PLogin,PServer,PName,PBLogin;
JLabel LServer,LName;
JTextField TServer,TName;
JButton B1,B2;
ObjectOutputStream streamToServer;
ObjectInputStream streamFromServer;
ChatMessage msg;
ChatClient cc;
String messageType=new String();
String ChatName=new String();
static Vector vector=new Vector(1,1);
public Login()
{
PLogin=new JPanel();
PServer=new JPanel();
PName=new JPanel();
PBLogin=new JPanel();
LServer=new JLabel("服务器:");
LName=new JLabel("用户名:");
TServer=new JTextField(12);
TName=new JTextField(12);
B1=new JButton("登陆");
B2=new JButton("取消");
PLogin.setLayout(new BorderLayout());
PServer.add(LServer);PServer.add(TServer);
PName.add(LName);PName.add(TName);
PBLogin.add(B1);PBLogin.add(B2);
B1.addActionListener(this);
B2.addActionListener(this);
PLogin.add("North",PServer);
PLogin.add("Center",PName);
PLogin.add("South",PBLogin);
Toolkit tk=Toolkit.getDefaultToolkit();
Dimension d=tk.getScreenSize();
int screenwidth=d.width;
int screenheight=d.height;
this.setLocation(screenwidth/3,screenheight/3);
this.getContentPane().add(PLogin);
this.setTitle("聊天室登陆");
this.setSize(280,150);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(3);
}
//按钮功能定义开始
public void actionPerformed(ActionEvent e)
{
Object source=e.getSource();
if(source==B1)
{
if(checkLetterOrDigit(this,Msg().ChatName,3,8)==false)//Check用户名
{
JOptionPane.showMessageDialog(this," 请按正确格式填写所有选项","填写错误",JOptionPane.ERROR_MESSAGE);
TName.setText("");
}
else
{
this.dispose(); //关闭当前窗口
cc=new ChatClient();
cc.SentToServer(Msg());
}
}
else if(source==B2)
{
System.exit(0);
}
}
//按钮功能定义结束
//登陆发送状态和用户名开始
public ChatMessage Msg()
{
//vector.addElement("所有人");
ChatName=TName.getText();
msg=new ChatMessage("Login",ChatName,null,null,null);
return msg;
}
//登陆发送状态和用户名结束
//测试登陆用户名开始
public static boolean checkLetterOrDigit(JFrame obj,String str,int min,int max)
{
boolean reuls=true;
int len=str.length();
if(len==0||len<min||len>max)
{
reuls=false;
return false;
}
for(int i=0;i<len;i++)
{
if(!Character.isLetterOrDigit(str.charAt(i)) && str.charAt(i)!='_')
{
//JOptionPane.showMessageDialog(obj," 请按正确格式填写所有选项","填写错误",JOptionPane.ERROR_MESSAGE);
reuls=false;
return false;
}
}
return reuls;
}
//测试登陆用户名结束
public static void main(String args[])
{
new Login();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -