home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 July / Chip_1998-07_cd.bin / zkuste / JBuilder / BDK / Win / bdk_sep97.exe / _SETUP.1 / QuoteServerGUI.java < prev    next >
Encoding:
Java Source  |  1997-09-10  |  3.3 KB  |  142 lines

  1.  
  2. package sunw.demo.quote;
  3.  
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import java.rmi.RemoteException;
  7.  
  8.  
  9. class QuoteServerGUI extends Frame
  10. {
  11.   private QuoteServerApp quoteServerApp;
  12.   private PropertyPanel propsPanel = new PropertyPanel();
  13.  
  14.   private static String sProxyHost = "HTTP Proxy Host";
  15.   private static String sProxyPort = "HTTP Proxy Port";
  16.   private static String sSource = "Quote Source";
  17.   private static String sStatus = "Server Status";
  18.  
  19.  
  20.   QuoteServerGUI(QuoteServerApp x)
  21.   {
  22.     quoteServerApp = x;
  23.  
  24.     setLayout(new BorderLayout());
  25.     setTitle("QuoteServer");
  26.     addWindowListener(new WindowEventHandler());
  27.  
  28.     propsPanel = new PropertyPanel();
  29.     propsPanel.appendProperty(sProxyHost, "<unknown>");
  30.     propsPanel.appendProperty(sProxyPort, "<unknown>");
  31.     propsPanel.appendProperty(sSource, "Local");
  32.     propsPanel.appendProperty(sStatus, "Iniitializing ...");
  33.  
  34.     propsPanel.addPropertyActionListener(sProxyHost, new ChangeProxyHost());
  35.     propsPanel.addPropertyActionListener(sProxyPort, new ChangeProxyPort());
  36.     propsPanel.addPropertyActionListener(sSource, new ChangeQuoteSource());
  37.  
  38.     propsPanel.setPropertyEditable(sProxyHost, true);
  39.     propsPanel.setPropertyEditable(sProxyPort, true);
  40.     propsPanel.setPropertyEditable(sSource, true);
  41.  
  42.     add("Center", propsPanel);
  43.     pack();
  44.   }
  45.  
  46.  
  47.   void showStatus(String x)
  48.   {
  49.     propsPanel.setPropertyValue(sStatus, x);
  50.   }
  51.  
  52.  
  53.   void refreshAll()
  54.   {
  55.     try {
  56.       HttpProxy proxy = QuoteServerApp.server.getHttpProxy();
  57.       propsPanel.setPropertyValue(sProxyHost, proxy.getHost());
  58.       propsPanel.setPropertyValue(sProxyPort, String.valueOf(proxy.getPort()));
  59.     }
  60.     catch (RemoteException e) {
  61.       e.printStackTrace();
  62.     }
  63.   }
  64.  
  65.  
  66.   void setHttpProxy()
  67.   {
  68.     try {
  69.       String host =  propsPanel.getPropertyValue(sProxyHost);
  70.       String port =  propsPanel.getPropertyValue(sProxyPort);
  71.       HttpProxy proxy = new HttpProxy(host, Integer.valueOf(port).intValue());
  72.       QuoteServerApp.server.setHttpProxy(proxy);
  73.       propsPanel.setPropertyValue(sStatus, "Ready");
  74.     }
  75.     catch (RemoteException e) {
  76.       // e.printStackTrace();
  77.       propsPanel.setPropertyValue(sStatus, "Bad HTTP proxy host/port");
  78.     }
  79.   }
  80.  
  81.  
  82.   class ChangeProxyHost implements ActionListener
  83.   {
  84.     public void actionPerformed(ActionEvent e)
  85.     {
  86.       setHttpProxy();
  87.     }
  88.   }
  89.  
  90.  
  91.   class ChangeProxyPort implements ActionListener
  92.   {
  93.     public void actionPerformed(ActionEvent e)
  94.     {
  95.       setHttpProxy();
  96.     }
  97.   }
  98.  
  99.  
  100.   class ChangeQuoteSource implements ActionListener
  101.   {
  102.     public void actionPerformed(ActionEvent e)
  103.     {
  104.       String source = propsPanel.getPropertyValue(sSource);
  105.  
  106.       if (source.equalsIgnoreCase("local")) 
  107.     source = "Local";
  108.  
  109.       else if (source.equalsIgnoreCase("yahoo"))
  110.     source = "Yahoo";
  111.  
  112.       else {
  113.     propsPanel.setPropertyValue(sStatus, "Source must be Local or Yahoo");
  114.     source = null;
  115.       }
  116.  
  117.       try {
  118.     if (source != null) {
  119.       QuoteServerApp.server.setQuoteSource(source);
  120.       propsPanel.setPropertyValue(sSource, source);
  121.       propsPanel.setPropertyValue(sStatus, "Ready");
  122.     }
  123.       }
  124.       catch (RemoteException x) {
  125.     propsPanel.setPropertyValue(sStatus, "Set quote source failed!");
  126.       }
  127.     }
  128.   }
  129.  
  130.  
  131.   class WindowEventHandler extends WindowAdapter
  132.   {
  133.     public void windowClosing(WindowEvent e) 
  134.     {
  135.       System.exit(0);
  136.     }
  137.   }
  138. }
  139.  
  140.  
  141.  
  142.