论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
该功能模块实现的代码如下所示:
public class ComFacade extends Panel implements ActionListener,Runnable{
Panel Pserver,Pclient;Button SYes,SNo,SInit,CYes,CNo,CInit;
TextArea SShow,CShow;TextField SMessage,CMessage;
Box basic,Bserver,Bclient;
Thread ThreadServerSend,ThreadServerReceive,ThreadClientSend,ThreadClientReceive;
ServerSocket server;Socket Sclient,Cclient;DataInputStream Sin,Cin;DataOutputStream Sout,Cout;
String s;boolean flag=true;Des des=new Des();
public ComFacade()
{
Bserver=Box.createVerticalBox();Bclient=Box.createVerticalBox();
Pserver=new Panel();Pserver.setLayout(new BorderLayout());Pclient=new Panel();
Pclient.setLayout(new BorderLayout()); (转载自http://zw.NSEAC.com科教作文网)
SShow=new TextArea("",30,50,TextArea.SCROLLBARS_HORIZONTAL_ONLY);
CShow=new TextArea("",30,50,TextArea.SCROLLBARS_HORIZONTAL_ONLY);
SMessage=new TextField(35);SYes=new Button("发送");SYes.addActionListener(this);
SNo=new Button("取消");SNo.addActionListener(this);SInit=new Button("启动服务器");
SInit.addActionListener(this);CYes=new Button("发送");CYes.addActionListener(this);
CNo=new Button("取消");CNo.addActionListener(this);CInit=new Button("启动客户端");
CInit.addActionListener(this);CMessage=new TextField(35);Panel SControl=new Panel();
Panel CControl=new Panel();SControl.setLayout(new FlowLayout());
SControl.add(SMessage,FlowLayout.LEFT);SControl.add(SYes);SControl.add(SNo);
CControl.setLayout(new FlowLayout());CControl.add(CMessage,FlowLayout.LEFT);
CControl.add(CYes);CControl.add(CNo);Pserver.add(SShow,BorderLayout.NORTH);
Pserver.add(SControl,BorderLayout.SOUTH);Pclient.add(CShow,BorderLayout.NORTH);
Pclient.add(CControl,BorderLayout.SOUTH);Panel S=new Panel();Panel C=new Panel();
S.add(new Label("服务端"),BorderLayout.CENTER);S.add(SInit);Bserver.add(S);Bserver.add(Pserver);
C.add(new Label("客户端"),BorderLayout.CENTER);C.add(CInit);Bclient.add(C);
Bclient.add(Pclient);basic=Box.createHorizontalBox();basic.add(Bserver);
basic.add(Box.createVerticalStrut(200));basic.add(Bclient);add(basic);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==SYes)
{ ThreadServerSend=new Thread(this);ThreadServerSend.start();
ThreadClientReceive=new Thread(this);ThreadClientReceive.start();
}//处理服务器发送消息else if(e.getSource()==CYes)
{ ThreadClientSend=new Thread(this); ThreadClientSend.start();
ThreadServerReceive=new Thread(this); ThreadServerReceive.start();