import java.awt.*; import java.applet.*; import java.util.*; import ColorMap; public class Appletex extends Applet { public void init() { _partner_name = getParameter("partner"); _color_map = new ColorMap(); setLayout(new BorderLayout()); Panel p = new Panel(); p.setLayout(new FlowLayout()); p.add(new Button("Send")); p.add(new Button("Clear")); add("South", p); _ta = new TextArea(20, 80); // parameter and default String color = getParameter("bgcolor"); Color bg = _color_map.getColorParameter(color, Color.green); color = getParameter("fgcolor"); Color fg = _color_map.getColorParameter(color, Color.blue); _ta.setBackground(bg); _ta.setForeground(fg); _ta.appendText("This is some sample text\nand\nthis\nis\ntoo."); add("Center", _ta); } private void clear_text(String nstr) { String str = _ta.getText(); int len = str.length(); _ta.replaceText(nstr, 0, len); } public void receive(String data) { clear_text(data); } // cannot do at init time, since partner may not exist yet // but may appear later private void send_to_partner() { if(_partner_name != null && _partner_name.length() > 0) { _partner = getAppletContext().getApplet(_partner_name); if(_partner != null) { ((Appletex)_partner).receive(_ta.getText()); } else { _ta.appendText("\nNo partner available."); } } } public boolean action(Event evt, Object arg) { if(arg.equals("Clear")) { clear_text(""); } else if(arg.equals("Send")) { send_to_partner(); } else { super.action(evt,arg); } return true; } public String[][] getParameterInfo() { return _paraminfo; } public String getAppletInfo() { return _info; } private TextArea _ta; private String _info = "Demo applet written by Frederick Hirsch, v1.0"; private Applet _partner; private String _partner_name; private String[][] _paraminfo = { {"bgcolor", "color", "background color"}, {"fgcolor", "color", "foreground color"}, }; private ColorMap _color_map; }