home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / SimpleServerPush.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  4.9 KB  |  144 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Container;
  3. import java.awt.Event;
  4. import java.awt.Label;
  5. import java.awt.List;
  6. import java.awt.Panel;
  7. import java.awt.TextField;
  8.  
  9. public class SimpleServerPush extends JDPClassLayout {
  10.    JDPUser user;
  11.    JDPJagg jaggSQL;
  12.    JDPPopupMessage popuppanel;
  13.    JDPMaskEdit JDPMaskEditMain;
  14.    String moduleParameter;
  15.    Panel Main;
  16.    Label Label1;
  17.    Panel Panel1;
  18.    Panel Panel2;
  19.    List connectedClients;
  20.    JDPButton JDPButton1;
  21.    Panel Panel3;
  22.    JDPScrollPanel ScrollPanel1;
  23.    JDPButton JDPButton2;
  24.    JDPButton JDPButton3;
  25.    JDPScrollPanel ScrollPanel2;
  26.    Label Label2;
  27.    TextField requestData;
  28.    Label Label3;
  29.    TextField dataReceived;
  30.    JDPServerSender MessageSender1;
  31.    JDPServerListener MessageReceiver1;
  32.  
  33.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  34.       this.user = var1;
  35.       this.moduleParameter = var3;
  36.       super.targetPanel = var2;
  37.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  38.       ((Container)this).setLayout(new BorderLayout());
  39.       this.popuppanel = new JDPPopupMessage(var1, this);
  40.       ((Container)this).add(this.popuppanel);
  41.       this.JDPMaskEditMain = new JDPMaskEdit();
  42.       this.Main = new Panel();
  43.       this.Label1 = new Label("This example demostrates using server push to send a message to a JDP client", 0);
  44.       this.Panel1 = new Panel();
  45.       this.Panel2 = new Panel();
  46.       this.connectedClients = new List();
  47.       this.JDPButton1 = new JDPButton("Get Connected Clients", JDPButton.getIconValue("Custom"), JDPButton.getAlignmentValue("Center"));
  48.       this.Panel3 = new Panel();
  49.       this.ScrollPanel1 = new JDPScrollPanel();
  50.       this.JDPButton2 = new JDPButton("Press to register to receive requests of type 'TestRequest'", JDPButton.getAlignmentValue("Center"));
  51.       this.JDPButton3 = new JDPButton("Press so send a request of type 'TestRequest' to the selected IP address", JDPButton.getAlignmentValue("Center"));
  52.       this.ScrollPanel2 = new JDPScrollPanel();
  53.       this.Label2 = new Label("Data to send:", 0);
  54.       this.requestData = new TextField("sample data", 20);
  55.       this.Label3 = new Label("Data received:", 0);
  56.       this.dataReceived = new TextField("", 20);
  57.       this.MessageSender1 = new JDPServerSender(var1);
  58.       this.MessageReceiver1 = var1.serverListener;
  59.       this.Main.setLayout(new BorderLayout());
  60.       ((Container)this).add("Center", this.Main);
  61.       this.Main.add("North", this.Label1);
  62.       this.Main.add("Center", this.Panel1);
  63.       this.Panel1.setLayout(new BorderLayout());
  64.       this.Panel1.add("West", this.Panel2);
  65.       this.Panel2.setLayout(new BorderLayout());
  66.       this.Panel2.add("Center", this.connectedClients);
  67.       this.Panel2.add("North", this.JDPButton1);
  68.       this.Panel1.add("Center", this.Panel3);
  69.       this.Panel3.setLayout(new BorderLayout());
  70.       this.Panel3.add("North", this.ScrollPanel1);
  71.       this.ScrollPanel1.add("Left", this.JDPButton2);
  72.       this.ScrollPanel1.add("Left", this.JDPButton3);
  73.       this.Panel3.add("Center", this.ScrollPanel2);
  74.       this.ScrollPanel2.add("Left", this.Label2);
  75.       this.ScrollPanel2.add("Right", this.requestData);
  76.       this.ScrollPanel2.add("Left", this.Label3);
  77.       this.ScrollPanel2.add("Right", this.dataReceived);
  78.       var1.gParm.addElement(this);
  79.       this.InitComponents();
  80.    }
  81.  
  82.    public boolean handleEvent(Event var1) {
  83.       switch (var1.id) {
  84.          case 503:
  85.          case 504:
  86.          case 505:
  87.             this.popuppanel.postEvent(var1);
  88.             return false;
  89.          case 1001:
  90.             if (!var1.target.equals(this.JDPButton1)) {
  91.                if (var1.target.equals(this.JDPButton2)) {
  92.                   this.MessageReceiver1.registerForRequest("TestRequest", this);
  93.                   this.user.mainmsg.setStatusMsg("Registration complete", 10);
  94.                   return true;
  95.                }
  96.  
  97.                if (var1.target.equals(this.JDPButton3)) {
  98.                   if (this.connectedClients.getSelectedIndex() >= 0) {
  99.                      Event var6 = new Event(this, 1001, this.requestData.getText());
  100.                      if (this.MessageSender1.sendEventToClient(this.connectedClients.getSelectedItem(), "TestRequest", var6)) {
  101.                         this.user.mainmsg.setStatusMsg("Request sent", 10);
  102.                      } else {
  103.                         this.user.mainmsg.setStatusMsg("Could not send requested to selected IP address", 15);
  104.                      }
  105.                   }
  106.  
  107.                   return true;
  108.                }
  109.  
  110.                if (var1.target.equals(this.MessageReceiver1)) {
  111.                   if (var1.arg instanceof String) {
  112.                      String var4 = (String)var1.arg;
  113.                      if (var4.startsWith("TestRequest")) {
  114.                         var4 = var4.substring(var4.indexOf("|") + 1);
  115.                         this.dataReceived.setText(var4);
  116.                      }
  117.                   }
  118.  
  119.                   return true;
  120.                }
  121.  
  122.                return false;
  123.             }
  124.  
  125.             this.connectedClients.clear();
  126.             this.MessageSender1.getConnectedClients();
  127.             String[] var2 = this.MessageSender1.getIPAddresses();
  128.             if (var2 != null) {
  129.                for(int var3 = 0; var3 < var2.length; ++var3) {
  130.                   this.connectedClients.addItem(var2[var3]);
  131.                }
  132.             }
  133.  
  134.             return true;
  135.          default:
  136.             return false;
  137.       }
  138.    }
  139.  
  140.    public void InitComponents() {
  141.       this.jaggSQL.setKeepConnectionOpen(false);
  142.    }
  143. }
  144.