package fr.dgac.ivy ; import java.awt.* ; import java.awt.event.* ; class TestIvy extends Panel implements IvyApplicationListener{ Ivy bus ; String regexp ; TextField tfRegex, tfSend ; TextArea ta ; Button buApply, buSend, buClear ; int regexp_id; public TestIvy() throws IvyException { super(new BorderLayout()); regexp = ""; // un textarea au centre ta = new TextArea(); ta.setEditable(false); add(ta,BorderLayout.CENTER); // une zone regex au nord Panel p = new Panel(new BorderLayout()); p.add(new Label("Regex:"),BorderLayout.WEST); tfRegex = new TextField(regexp); tfRegex.addActionListener(new REGCB()); p.add(tfRegex,BorderLayout.CENTER); add(p,BorderLayout.NORTH); // une zone messages au sud p = new Panel(new BorderLayout()); p.add(new Label("Msg:"),BorderLayout.WEST); tfSend = new TextField(""); tfSend.addActionListener(new SENDCB()); p.add(tfSend,BorderLayout.CENTER); add(p,BorderLayout.SOUTH); bus = new Ivy("JAVA TESTBUS","Testbus ridi",this); bus.start(null); append( "Ivy Domain: "+ bus.getDomain(null) ); } public void stop() { bus.stop(); } public void connect(IvyClient client) { append(client.getApplicationName() + " connected " ); } public void disconnect(IvyClient client) { append(client.getApplicationName() + " disconnected " ); } public void die(IvyClient client, int id) { append(client.getApplicationName() + " die "+ id ); } public void directMessage(IvyClient client, int id, String arg) { append(client.getApplicationName() + " direct Message "+ id + arg ); } /* inner */ class REGCB implements ActionListener, IvyMessageListener { public void actionPerformed(ActionEvent e) { // enlever l'ancienne regex bus.unBindMsg(regexp_id); // ajoute la nouvelle regex regexp=tfRegex.getText(); regexp.trim(); regexp_id = bus.bindMsg(regexp,this); tfRegex.setText(""); } public void receive(IvyClient client, String[] args) { String out="client " + client.getApplicationName() + " envoie: [ "; for (int i=0;i