📄 hhl.java
字号:
passmessage1 = passmessage;
namearea.setBounds(new Rectangle(51, 6, 140, 33));
jf.setLayout(null);
this.setSize(new Dimension(500, 382));
this.setTitle("来自"+whopass+"的消息");
this.setLocation(350,300);
name.setFont(new java.awt.Font("Dialog", 0, 13));
name.setBorder(BorderFactory.createEtchedBorder());
name.setDebugGraphicsOptions(0);
name.setDoubleBuffered(false);
name.setMinimumSize(new Dimension(43, 23));
name.setOpaque(false);
name.setRequestFocusEnabled(true);
name.setToolTipText("");
name.setHorizontalAlignment(SwingConstants.RIGHT);
name.setHorizontalTextPosition(SwingConstants.CENTER);
name.setIconTextGap(4);
name.setText("呢称:");
name.setVerticalAlignment(javax.swing.SwingConstants.CENTER);
name.setBounds(new Rectangle(9, 6, 45, 33));
e_mailarea.setBounds(new Rectangle(53, 41, 270, 31));
e_mailarea.setText("ddd");
e_mailarea.setBorder(BorderFactory.createEtchedBorder());
e_mailarea.setHorizontalAlignment(SwingConstants.LEFT);
e_mailarea.setFont(new java.awt.Font("Dialog", 0, 13));
e_mail.setBounds(new Rectangle(8, 41, 46, 31));
e_mail.setText("邮箱:");
e_mail.setBorder(BorderFactory.createEtchedBorder());
e_mail.setHorizontalAlignment(SwingConstants.RIGHT);
e_mail.setFont(new java.awt.Font("Dialog", 0, 13));
icon.setEnabled(true);
icon.setBorder(BorderFactory.createEtchedBorder());
icon.setHorizontalAlignment(SwingConstants.CENTER);
icon.setIcon(icon3);
icon.setIconTextGap(4);
icon.setText("头像");
icon.setBounds(new Rectangle(388, 4, 95, 110));
icon.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
JOptionPane.showMessageDialog(null,"该用户没有填写个人资料");
}
});
ip.setFont(new java.awt.Font("Dialog", 0, 14));
ip.setHorizontalAlignment(SwingConstants.CENTER);
ip.setText("对方的ip为:");
ip.setBounds(new Rectangle(8, 79, 366, 33));
simple.setFont(new java.awt.Font("Dialog", 0, 13));
simple.setToolTipText("");
simple.setHorizontalAlignment(SwingConstants.CENTER);
simple.setText("按ctrl+enter回复");
simple.setBounds(new Rectangle(192, 6, 181, 33));
jt.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
int keyCode = e.getKeyCode();
int modifiers = e.getModifiers();
if (modifiers==2 & keyCode==10)
{
dispose();
Frame1 f = new Frame1(who,sname1,null);
f.show(true);
}
}
});
jsc.setBounds(new Rectangle(5, 124, 485, 230));
jt.setEditable(false);
jt.setText(passmessage1);
jf.add(e_mail, null);
jf.add(icon, null);
jf.add(e_mailarea, null);
jf.add(namearea, null);
jf.add(name, null);
jf.add(simple, null);
jf.add(jsc, null);
jf.add(ip, null);
this.setResizable(false);
jsc.getViewport().add(jt, null);
}
}
//**********************************************************
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);
for(int d=0;d < uList.size();d++)
{
book = new DefaultMutableTreeNode(uList.elementAt(d));
} ;
tp1.add(book);
}
if (clientservice.flag.compareTo("Logout")==0)
{
uList.removeElement(clientservice.usrName);
for(int d=0;d < uList.size();d++)
{
book = new DefaultMutableTreeNode(uList.elementAt(d));
}
tp1.add(book);
}
if (clientservice.flag.length()>0)
{
if(clientget != null)
{
if(clientservice.flag.compareTo(" "+passmyname)==0)
{
receiveFrame rf = new receiveFrame(passmyname,clientservice.usrName,clientservice.msg);
rf.show(true);
java.io.InputStream insound = new java.io.FileInputStream("image/msg.wav");
sun.audio.AudioStream sound = new sun.audio.AudioStream(insound);
sun.audio.AudioPlayer.player.start(sound);
}
}
else
JOptionPane.showMessageDialog(null,"信息不能回复");
}
}
}
catch(Exception e){}
}
};
class thSend extends Thread
{
public void run()
{
try
{
clientChat.send(clientservice);
}
catch(Exception e){}
}
};
}
//*****************************************************************************
//****************************
//* *
//* *
//* 聊天室部分 *
//* *
//* *
//****************************
//****************************************************************************
class cschat extends JFrame {
user clientservice,clientget;
client clientChat;
String name;
thReceive tr;
thSend ts;
Vector uList=new Vector(1,1);
logListener ll;
sendListener sl;
persendListener perS;
JPanel f;
JMenuBar jmb1 = new JMenuBar();
JMenu os = new JMenu();
JMenuItem loginmu = new JMenuItem();
JMenuItem logoutmu = new JMenuItem();
JMenu help = new JMenu();
JMenuItem about = new JMenuItem();
JLabel jLabel1 = new JLabel();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea messagearea = new JTextArea();
JList online = new JList();
JLabel yourname = new JLabel();
JTextField namearea = new JTextField();
JLabel serviceip = new JLabel();
JTextField iparea = new JTextField();
JTextField sendarea = new JTextField();
JButton publicsend = new JButton();
JButton personalsend = new JButton();
JCheckBox jcb = new JCheckBox();
JComboBox jcbB = new JComboBox();
JButton log = new JButton();
String[] s=new String[14];
String s1;
String s2 = "my";
String ss = "无表情";
int re = 1;
ImageIcon icon = new ImageIcon();
int kyou =0;
int checkyou = 1;
public cschat(String passname) {
f = (JPanel) this.getContentPane();
f.setLayout(null);
this.setBounds(200,100,595,560);
this.setTitle("在线聊天");//聊天室名称
this.setJMenuBar(jmb1);
jScrollPane1.setBounds(new Rectangle(10, 109, 476, 298));
os.setFont(new java.awt.Font("Dialog", 0, 13));
os.setHorizontalAlignment(SwingConstants.LEFT);
os.setText("系统");
loginmu.setFont(new java.awt.Font("Dialog", 0, 13));
loginmu.setHorizontalAlignment(SwingConstants.LEFT);
loginmu.setText("登陆");
loginmu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{
String tempstring;
int wakeup;
if(log.getText().compareTo("断开") == 0)
{
JOptionPane.showMessageDialog(null,"你已经登陆了啊!!想搞破坏啊?");
return;
}
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(null,"请输入服务器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();
}
});
logoutmu.setFont(new java.awt.Font("Dialog", 0, 13));
logoutmu.setHorizontalAlignment(SwingConstants.LEFT);
logoutmu.setText("退出");
logoutmu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(log.getText().compareTo("断开")==0)
{
try
{
clientChat.disconnect();
log.setText("登录");
uList.clear();
online.setListData(uList);
iparea.setEditable(true);
namearea.setEditable(true);
}
catch(Exception ioe){}
}
else
{
JOptionPane.showMessageDialog(null,"没有登陆何谓退出啊?");
mydilog d = new mydilog();
}
}
});
s[0] = "昏昏欲睡";
s[1] = "笑咪咪";
s[2] = "哈哈大笑";
s[3] = "微笑";
s[4] = "惊呀";
s[5] = "自得其乐";
s[6] = "自以为是";
s[7] = "睁只眼闭只眼";
s[8] = "色咪咪";
s[9] = "扮个鬼脸";
s[10] = "伤心";
s[11] = "嚎啕大哭";
s[12] = "愤怒";
s[13] = "生气";
jcbB.addItem(ss);
for(int i=0;i<14;i++)
{
jcbB.addItem(s[i]);
}
jcbB.setBounds(new Rectangle(10,470, 92, 28));
jcbB.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
s1 = e.getItem().toString();
}
});
help.setFont(new java.awt.Font("Dialog", 0, 13));
about.setFont(new java.awt.Font("Dialog", 0, 13));
os.add(loginmu);
os.add(logoutmu);
help.setText("帮助");
about.setText("关于");
about.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null," 翰海林论坛\n广东轻院计算机系计算机022\n 翰海林 制作");
}
});
help.add(about);
jmb1.add(os);
jmb1.add(help);
online.setBorder(BorderFactory.createEtchedBorder());
online.setBounds(new Rectangle(492, 109, 87, 299));
yourname.setFont(new java.awt.Font("Dialog", 0, 14));
yourname.setText("呢称:");//你登陆的名字
yourname.setBounds(new Rectangle(19, 426, 45, 26));
namearea.setFont(new java.awt.Font("Dialog", 0, 14));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -