import javax.swing.*; import java.awt.event.*; import java.awt.*; class ChatFrame extends JFrame implements ActionListener,CommListener { protected JTextField input; protected JTextArea output; protected CommMessage com; protected CommMessage_Proxy party; public ChatFrame() { super(); input = new JTextField(20); output = new JTextArea(20,20); output.setLineWrap(true); output.setWrapStyleWord(false); input.addActionListener(this); getContentPane().setLayout(new FlowLayout()); getContentPane().add(input); getContentPane().add(output); } public void setParty(CommMessage_Proxy proxy) { this.party = proxy; } public void start(){System.out.println("start");} public void end(){System.out.println("end");} public void connect(String ad) { setParty(new CommMessage_Proxy(ad)); } public void output(Message d) { if(party != null) { party.input(d); } } public void input(Message d) { if(output !=null) { output.append(d.Out()); } } public void actionPerformed(ActionEvent e ) { if(party == null) { connect(input.getText()); } else { output(new Message(input.getText())); } } }