📄 hhl.java
字号:
namearea.setText(passname);
namearea.setBounds(new Rectangle(56, 424, 155, 31));
serviceip.setFont(new java.awt.Font("Dialog", 0, 14));
serviceip.setText("选择服务器ip:");
serviceip.setBounds(new Rectangle(222, 425, 100, 30));
iparea.setFont(new java.awt.Font("Dialog", 0, 13));
iparea.setText("127.0.0.1");//默认为本机ip
iparea.setBounds(new Rectangle(311, 425, 100, 29));
log.setBounds(new Rectangle(432, 424, 70, 30));
log.setFont(new java.awt.Font("Dialog", 0, 14));
log.setText("登录");
sendarea.setText("");
sendarea.setBounds(new Rectangle(113, 470, 314, 30));
publicsend.setBounds(new Rectangle(429, 471, 70, 30));
publicsend.setFont(new java.awt.Font("Dialog", 0, 14));
publicsend.setText("公聊");
personalsend.setBounds(new Rectangle(511, 471, 70, 30));
personalsend.setFont(new java.awt.Font("Dialog", 0, 14));
personalsend.setText("私聊");
messagearea.setText("");
messagearea.setEditable(false);
jLabel1.setFont(new java.awt.Font("Dialog", 0, 20));
jLabel1.setBorder(BorderFactory.createEtchedBorder());
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
jLabel1.setFont(new java.awt.Font("楷体_GB2312", 1, 30));
jLabel1.setText("翰海林聊天室-在线聊天");
jLabel1.setBounds(new Rectangle(8, 6, 572, 97));
f.add(personalsend, null);
f.add(publicsend, null);
f.add(sendarea, null);
f.add(namearea, null);
f.add(yourname, null);
f.add(serviceip, null);
f.add(iparea, null);
f.add(log, null);
f.add(jcbB, null);
f.add(online, null);
f.add(jScrollPane1, null);
f.add(jLabel1, null);
jScrollPane1.getViewport().add(messagearea, null);
f.setVisible(true);
ll=new logListener();
log.addActionListener(ll);
sl=new sendListener();
perS=new persendListener();
publicsend.addActionListener(sl);
personalsend.addActionListener(perS);
this.setVisible(true);
this.setResizable(false);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING)
{
if(clientChat != null)
{
clientChat.disconnect();
uList.clear();
online.setListData(uList);
}
dispose();
}
}
class mydilog extends JDialog
{
JPanel jp;
JComboBox jcb1 = new JComboBox();
JLabel l1 = new JLabel();
JButton ok = new JButton("确定");
JButton cance = new JButton("取消");
String s[] = {"dd","dd","dd"};
mydilog()
{
jp = (JPanel)this.getContentPane();
this.setTitle("你想做什么?");
this.setSize(300,150);
this.setLocation(400,200);
jp.setLayout(null);
l1.setText("请选择你要做的事");
l1.setBounds(110,20,100,30);
jcb1.setBounds(110,50,150,25);
for(int k = 0;k<=2;k++)
jcb1.addItem(s[k]);
ok.setBounds(110,90,60,25);
cance.setBounds(200,90,60,25);
ok.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
}
});
cance.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
}
});
jp.add(ok,null);
jp.add(cance,null);
jp.add(jcb1,null);
jp.add(l1,null);
this.setVisible(true);
}
}
class sendListener implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(log.getText()!="断开")
{
JOptionPane.showMessageDialog(null,"对不起,你还没有登陆!");
}
else if(log.getText()=="断开")
{
if (sendarea.getText().compareTo("")==0)
{
JOptionPane.showMessageDialog(null,"空消息不能发送!");
return;
}
else if(sendarea.getText().compareTo("妈妈的")==0 || sendarea.getText().compareTo("鸟人")==0 || sendarea.getText().compareTo("fuck")==0)
{ if(kyou >= 3)
{
JOptionPane.showMessageDialog(null,"你的脏话过多,无权发送!");
try
{
clientChat.disconnect();
log.setText("登录");
uList.clear();
online.setListData(uList);
iparea.setEditable(true);
namearea.setEditable(true);
}
catch(Exception ioe){}
return;
}
kyou++;
JOptionPane.showMessageDialog(null,"这是第"+kyou+"次警告!再发就屏蔽你!");
return;
}
else if(sendarea.getText().compareTo(s2) == 0)
{
JOptionPane.showMessageDialog(null,"不能连续发相同的信息!");
return;
}
if(s1==null)
clientservice.usrName=namearea.getText();
else if(s1.compareTo("无表情")==0)
clientservice.usrName=namearea.getText();
else
clientservice.usrName=namearea.getText()+s1+"地";
s2 = sendarea.getText();
clientservice.msg=sendarea.getText();
clientservice.flag="say";
sendarea.setText("");
ts=new thSend();
ts.start();
}
}
}
class persendListener implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
String string = sendarea.getText();
if(log.getText()!="断开")
{
JOptionPane.showMessageDialog(null,"对不起,你还没有登陆!");
}
else if(log.getText()=="断开")
{
if (string.compareTo("")==0)
{
JOptionPane.showMessageDialog(null,"空消息不能发送!");
}
else
{
clientservice.usrName=namearea.getText();
clientservice.msg=sendarea.getText();
if (online.getSelectedValue()==null)
{
JOptionPane.showMessageDialog(null,"请选择发送人!");
return;
}
else if(online.getSelectedValue().toString().compareTo(namearea.getText())==0)
{
JOptionPane.showMessageDialog(null,"你对你自己说的话还要写上来吗?");
return;
}
else if(sendarea.getText().compareTo("妈妈的")==0 || sendarea.getText().compareTo("鸟人")==0 || sendarea.getText().compareTo("fuck")==0)
{
if(kyou >= 3)
{
JOptionPane.showMessageDialog(null,"你的脏话过多,无权发送!");
try
{
clientChat.disconnect();
log.setText("登录");
uList.clear();
online.setListData(uList);
iparea.setEditable(true);
namearea.setEditable(true);
}
catch(Exception ioe){}
return;
}
kyou++;
JOptionPane.showMessageDialog(null,"这是第"+kyou+"次警告!再发就屏蔽你!");
return;
}
else if(sendarea.getText().compareTo(s2) == 0)
{
JOptionPane.showMessageDialog(null,"不能连续发相同的信息!");
return;
}
else
{
clientservice.flag=(String)online.getSelectedValue();
s2 = string;
sendarea.setText("");
}
ts=new thSend();
ts.start();
}
}
}
}
class logListener implements ActionListener
{
public void actionPerformed (ActionEvent evt)
{
String tempstring;
int wakeup;
JButton log;
log=(JButton)evt.getSource();
if (log.getText().compareTo("登录")==0)
{
if (namearea.getText().compareTo("")==0)
{
JOptionPane.showMessageDialog(null,"请输入用户名!难道要我叫你大笨蛋?");
return;
}
else if (namearea.getText().length() > 7)
{
JOptionPane.showMessageDialog(null,"呢称太长了!叫我怎么记啊?");
return;
}
if (iparea.getText().compareTo("")==0)
{
JOptionPane.showMessageDialog(log,"请输入服务器IP!");
return;
};
if(checkyou >= 3)
{
if(checkyou >= 5)
{
JOptionPane.showMessageDialog(null,"你登陆的次数太多,无权登陆!");
try
{
clientChat.disconnect();
log.setText("登录");
uList.clear();
online.setListData(uList);
iparea.setEditable(true);
namearea.setEditable(true);
}
catch(Exception ioe){}
return;
}
else
JOptionPane.showMessageDialog(null,"你这样玩,还是不是在聊天啊?");
}
if(kyou >= 3)
{
JOptionPane.showMessageDialog(null,"你的脏话过多,无权登陆!");
return;
}
name=namearea.getText();
clientChat=new client(iparea.getText(),namearea.getText());
wakeup=clientChat.connect();
if (wakeup==0)
{
return;
}
clientget=(user)clientChat.get();
if (clientget==null)
{
clientChat.disconnect();
return;
}
if (clientget.flag.compareTo("MAX")==0)
{
clientChat.disconnect();
return;
}
if (clientget.flag.compareTo("OK")==0)
{
}
else
{
clientChat.disconnect();
return;
}
messagearea.setText(clientget.msg);
log.setText("断开");
iparea.setEditable(false);
checkyou++;
namearea.setEditable(false);
tr=new thReceive();
tr.start();
}
else if (log.getText().compareTo("断开")==0)
{
clientChat.disconnect();
log.setText("登录");
uList.clear();
online.setListData(uList);
iparea.setEditable(true);
namearea.setEditable(true);
}
}
}
class thReceive extends Thread
{
public void run()
{
int i,j;
String temp;
try
{
while(true)
{
clientservice = (user)clientChat.get();
if (clientservice.flag.compareTo("Login")==0)
{
uList.addElement(clientservice.usrName);
online.setListData(uList);
}
if (clientservice.flag.compareTo("Logout")==0)
{
uList.removeElement(clientservice.usrName);
online.setListData(uList);
}
if (clientservice.flag.compareTo("say")==0 || clientservice.flag.compareTo("Login")==0 || clientservice.flag.compareTo("Logout")==0 || clientservice.flag.compareTo(namearea.getText())==0)
{
if(clientservice.flag.compareTo("Login")==0 || clientservice.flag.compareTo("Logout")==0 )
messagearea.append("服务器消息:\n");
else if(clientservice.usrName.compareTo(namearea.getText())==0)
messagearea.append("你说: ");
else
{
messagearea.append(clientservice.usrName);
if(clientservice.flag.compareTo(namearea.getText())==0)
{
messagearea.append(" 悄悄的对你说: ");
}
else
{
messagearea.append(" 说: ");
}
}
messagearea.append(clientservice.msg+"\n");
}
else if (clientservice.flag.compareTo("say")==0 || clientservice.flag.compareTo("Login")==0 || clientservice.flag.compareTo("Logout")==0 || clientservice.flag.compareTo(namearea.getText())!=0)
{
if(clientservice.usrName.compareTo(namearea.getText())
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -