监听器的问题~~麻烦大家纠正一下
import javax.swing.*;import java.awt.*;
import javax.swing.border.*;
import java.awt.event.*;
import *;
import java.util.*;
import *;
public class Chatlice implements ActionListener
{
//指出需要那些对象
JFrame frm;
JPanel p;
static JTextArea txtTag;//聊天记录文本域
JTextArea txtContent;
JLabel lbl;
JButton btnsend,btnclose,btnconn;
JList list,list1;
JPanel p2;
JPanel pmain;
JPanel pButtom;
Socket sktClient;//从客户访问连接服务,需要一个Socket类的对象
ObjectOutputStream oop;//把数据发送到服务器。。需要一个ObjectOutputStream的对象
ObjectInputStream ois;//
BorderLayout borderlyt;//布局管理器(边界类型)
//在类的构造函数那以上的对象构造出来
public Chatlice()
{
JFrame.setDefaultLookAndFeelDecorated(true);//界面变换
frm=new JFrame("聊天室克服端");
pmain=new JPanel();
pmain.setLayout(new BorderLayout());
JMenuBar mb=new JMenuBar();
JMenu m=new JMenu("文件传送(F)");
JMenuItem open=new JMenuItem("打开");
// JMenuItem mit=new JMenuItem("传送图片");
m.add(open);
m.addSeparator();
// m.add(mit);
mb.add(m);
frm.setJMenuBar(mb);
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
// mit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
txtTag=new JTextArea(15,30);
txtTag.setEditable(false);//设置聊天记录文本域不可编辑
txtContent=new JTextArea(5,5);
btnsend=new JButton("发送");
btnclose=new JButton("关闭");
btnconn=new JButton("连接");
ImageIcon img=new ImageIcon("gx.jpg");
lbl=new JLabel(img);
// txtQgg.setEditable(false);
String[] strname={"老大","老二","小三","小四","小五","小六 ","七妹"};
list=new JList(strname);
frm.getContentPane().add(pmain);
//组建
p=new JPanel();
p.setLayout(new BorderLayout());//对面版p进行边界布局
p.add(txtTag,"Center");
p.add(txtContent,"South");
pButtom=new JPanel();
pButtom.setLayout(new FlowLayout(FlowLayout.RIGHT));//对面板pButtom进行流布局
pButtom.add(btnsend);
pButtom.add(btnclose);
pButtom.add(btnconn);
p.add(pButtom,"South");
pmain.add(p,"Center");
p2=new JPanel();
p2.setLayout(new BorderLayout());//对面板p2边界布局
p2.add(list,"South");
p2.add(lbl,"North");
pmain.add(p2,"East");
// pButtom.setColor(new Color(95,142,214));
// p2.setColor(new Color(95,142,214));
//pmain.setBackground(Color.black);
btnclose.addActionListener(this);//实现关闭按钮
btnsend.addActionListener(this);
btnconn.addActionListener(this);
open.addActionListener(this);
//为面版加上边框
Font font=new Font("Dialog",Font.PLAIN,13);
Border b1=BorderFactory.createEtchedBorder();
Border c1=BorderFactory.createTitledBorder(b1,"聊天内容",1,2,font,Color.black);
Border c2=BorderFactory.createTitledBorder(b1,"个性形象",1,2,font,Color.blue);
Border c3=BorderFactory.createTitledBorder(b1,"在线人员",1,2,font,Color.blue);
Border c4=BorderFactory.createTitledBorder(b1,"编辑信息",1,2,font,Color.black);
txtContent.setBorder(c4);
list.setBorder(c3);
p2.setBorder(b1);
lbl.setBorder(c2);
txtTag.setBorder(c1);
//为文本加上滚动条
Border b4=BorderFactory.createLoweredBevelBorder();
JScrollPane sp3=new JScrollPane(txtTag,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
p.add("North",sp3);
Border b=BorderFactory.createLoweredBevelBorder();
txtContent.setForeground(Color.blue);
JScrollPane sp1=new JScrollPane(txtContent,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
p.add("Center",sp1);
Border b3=BorderFactory.createLoweredBevelBorder();
JScrollPane sp2=new JScrollPane(list,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
p2.add("South",sp2);
p2.setBackground(Color.white);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.pack(); //窗口自动调整适合的大小
// frm.setSize(400,400);
frm.setLocationRelativeTo(null);
frm.setResizable(false); //设置主窗口不能改变大小
frm.setVisible(true);//实现界面能见
}
// 构造监听器
public void actionPerformed(ActionEvent e)
{
JButton bt=(JButton)e.getSource();//对按钮监听
if(bt==btnsend)
{
ChatMsg cm=new ChatMsg();
cm.who="_-+sHaDow.*`";
cm.content=txtContent.getText();
try
{
oop.writeObject(cm);
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
else if(bt==btnclose)
{
System.exit(0);
}
else if(bt==btnconn)
{
try
{
//建立客户与服务器的连接
sktClient=new Socket("127.0.0.1",2008);
System.out.println("sdasdfsdfsdf");
oop=new ObjectOutputStream(sktClient.getOutputStream());
//ObjectInputStream abc=new ObjectInputStream(sktClient.getInputStream());
System.o