我设置的是前台控制,点击startserver按钮,主窗体假死,但是后台运行正常。如果用客户端像服务器发送一条消息,主窗体假死现象消失,求保持目前框架的解决方法import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;public class chatserver extends JFrame implements ActionListener
{
JPanel panebt =new JPanel();
JPanel panetxt =new JPanel();
JPanel pane =new JPanel();
JButton btstart =new JButton("start server");
JButton btbackup =new JButton("backup log");
JButton btstop =new JButton("stop server");
TextArea txtlog =new TextArea();
JFrame frame=new JFrame("my"); public chatserver()
{
pane.add(panetxt);
pane.add(panebt);

setContentPane(pane);
panetxt.add(txtlog);
panebt.add(btstart);
panebt.add(btbackup);
panebt.add(btstop);

panebt.setLayout(new BoxLayout(panebt,BoxLayout.X_AXIS));
panetxt.setLayout(new GridLayout(1,1,1,1));
pane.setLayout(new BoxLayout(pane,BoxLayout.Y_AXIS));
txtlog.setSize(800,600);
setLocation(80,80);
setTitle("server");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btstop.setEnabled(false);
pack();
show();


btstart.addActionListener(this);
btstop.addActionListener(this);
btbackup.addActionListener(this); }


public static void main (String[] abc)
{
new chatserver();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btstart)
{
txtlog.append("server opening..........\n");
btstart.setEnabled(false);
btstop.setEnabled(true);
serverstart();
}
else if(e.getSource()==btbackup)
{

}
else if(e.getSource()==btstop)
{
txtlog.append("server stoping..........\n");
btstart.setEnabled(true);
btstop.setEnabled(false);
}


} public void serverstart()
{
try
{
ServerSocket srv = new ServerSocket(2000);
txtlog.append("port 2000 opented...");
Socket sock= srv.accept();
BufferedReader br=new BufferedReader(
new InputStreamReader(
sock.getInputStream()
)
);
String str=br.readLine(); br.close();
}
catch (IOException e)
{
System.out.println("异常:"+e);
}
}
public void  serverstop()
{

}
public void serverckup()
{

}
}