home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / TestBdk.java < prev    next >
Text File  |  1998-05-08  |  12KB  |  374 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20. package borland.samples.bdk;
  21.  
  22. import java.awt.*;
  23. import java.awt.event.*;
  24. import java.applet.*;
  25. import java.beans.*;
  26. import java.io.*;
  27. import com.sun.java.swing.*;
  28. import borland.jbcl.layout.*;
  29. import borland.jbcl.control.*;
  30. import sunw.demo.buttons.*;
  31. import sunw.demo.juggler.*;
  32. import jclass.bwt.*;
  33. import sunw.demo.jelly.*;
  34. import sunw.demo.misc.*;
  35. import sunw.demo.test.*;
  36. import sunw.demo.molecule.*;
  37. import java.lang.*;
  38.  
  39. public class TestBdk extends JApplet {
  40. /*  {
  41.     try {
  42.       UIManager.setLookAndFeel(new com.sun.java.swing.plaf.windows.WindowsLookAndFeel());
  43.     } catch (Exception e) {e.printStackTrace();}
  44.   } */
  45.  
  46.   static final int INITIAL_ANIMATION = 300;
  47.   XYLayout xYLayout1 = new XYLayout();
  48.   boolean isStandalone = false;
  49.   TabsetPanel tabsetPanel1 = new TabsetPanel();
  50.   Panel bevelPanel1 = new Panel();
  51.   Panel bevelPanel2 = new Panel();
  52.   Panel bevelPanel3 = new Panel();
  53.   OurButton ourButton1 = new OurButton();
  54.   //Designer generated code for Juggler bean
  55.   //Juggler juggler1 = new Juggler();
  56.   //Replacement to use beans.instantiate
  57.   Juggler juggler1;
  58.   Button start = new Button();
  59.   Button stop = new Button();
  60.   JCSlider jCSlider1 = new JCSlider();
  61.   JellyBean jellyBean1 = new JellyBean();
  62.   ChangeReporter changeReporter1 = new ChangeReporter();
  63.   Button changeColor = new Button();
  64.   ColorChooser colorChooser1 = new ColorChooser();
  65.   Label label1 = new Label();
  66.   Voter voter1 = new Voter();
  67.   Button vote = new Button();
  68.   Button changePrice = new Button();
  69.   ExplicitButton explicitButton1 = new ExplicitButton();
  70.   Panel bevelPanel4 = new Panel();
  71.   BridgeTester bridgeTester1 = new BridgeTester();
  72.   ChangeReporter changeReporter2 = new ChangeReporter();
  73.   XYLayout xYLayout2 = new XYLayout();
  74.   Panel bevelPanel5 = new Panel();
  75.   Molecule molecule1 = new Molecule();
  76.   ChoiceControl choiceControl1 = new ChoiceControl();
  77.   XYLayout xYLayout3 = new XYLayout();
  78.   XYLayout xYLayout4 = new XYLayout();
  79.   XYLayout xYLayout5 = new XYLayout();
  80.  
  81.   //Get a parameter value
  82.   public String getParameter(String key, String def) {
  83.     return isStandalone ? System.getProperty(key, def) :
  84.       (getParameter(key) != null ? getParameter(key) : def);
  85.   }
  86.  
  87.   //Construct the applet
  88.   public TestBdk() {
  89.   }
  90.  
  91.   //Initialize the applet
  92.   public void init() {
  93.     try {
  94.       jbInit();
  95.     } catch (Exception e) { e.printStackTrace(); }
  96.   }
  97.  
  98.   public void start() {
  99.   }
  100.  
  101.   //Component initialization
  102.   public void jbInit() throws Exception{
  103.     xYLayout1.setWidth(400);
  104.     xYLayout1.setHeight(300);
  105.     bevelPanel5.setLayout(xYLayout5);
  106.     bevelPanel3.setLayout(xYLayout4);
  107.     bevelPanel2.setLayout(xYLayout3);
  108.     this.getContentPane().setLayout(xYLayout1);
  109.     this.getContentPane().add(tabsetPanel1, new XYConstraints(12, 13, 373, 270));
  110.  
  111.     //Buttons setup
  112.     ourButton1.setLabel("ourButton1");
  113.     explicitButton1.setLabel("explicitButton1");
  114.     bevelPanel1.add(ourButton1, new XYConstraints(12, 9, 87, 37));
  115.     bevelPanel1.add(explicitButton1, new XYConstraints(116, 8, 93, 40));
  116.     tabsetPanel1.add(bevelPanel1, "Buttons");
  117.  
  118.     //Juggler setup
  119.     //Required for beans which need an Applet context to run
  120.     try {
  121.       juggler1 = (Juggler)Beans.instantiate(null,"sunw.demo.juggler.Juggler");
  122.     } catch (IOException ex) {
  123.       juggler1 = new Juggler();
  124.       juggler1.init();
  125.     }
  126.     juggler1.setAnimationRate(INITIAL_ANIMATION);
  127.  
  128.     start.setLabel("Start");
  129.     start.addActionListener(new TestBdk_start_actionAdapter(this));
  130.     stop.setLabel("Stop");
  131.     stop.addActionListener(new TestBdk_stop_actionAdapter(this));
  132.     jCSlider1.setMaximum(INITIAL_ANIMATION);
  133.     jCSlider1.setMaximumLabelString("Slow");
  134.     jCSlider1.setMinimum(50);
  135.     jCSlider1.setMinimumLabelString("Fast");
  136.     jCSlider1.setOrientation(jclass.bwt.BWTEnum.VERTICAL);
  137.     jCSlider1.setValue(INITIAL_ANIMATION);
  138.     jCSlider1.addAdjustmentListener(new TestBdk_jCSlider1_adjustmentAdapter(this));
  139.     tabsetPanel1.add(bevelPanel2, "Juggler");
  140.     bevelPanel2.add(juggler1, new XYConstraints(3, 3, -1, -1));
  141.     bevelPanel2.add(start, new XYConstraints(28, 141, -1, -1));
  142.     bevelPanel2.add(stop, new XYConstraints(81, 141, -1, -1));
  143.     bevelPanel2.add(jCSlider1, new XYConstraints(167, 4, -1, 162));
  144.  
  145.     //Jellybean setup
  146.     jellyBean1.addVetoableChangeListener(new TestBdk_jellyBean1_vetoableChangeAdapter(this));
  147.     changeColor.setLabel("Change Color");
  148.     label1.setText("Change Reporter");
  149.     voter1.setVisible(false);
  150.     voter1.setBackground(Color.lightGray);
  151.     voter1.setVetoAll(false);
  152.     vote.setLabel("Veto price Change");
  153.     changePrice.setLabel("Change Price");
  154.     bevelPanel4.setLayout(xYLayout2);
  155.     changePrice.addActionListener(new TestBdk_changePrice_actionAdapter(this));
  156.     vote.addActionListener(new TestBdk_vote_actionAdapter(this));
  157.     changeColor.addActionListener(new TestBdk_changeColor_actionAdapter(this));
  158.     jellyBean1.addPropertyChangeListener(new TestBdk_jellyBean1_propertyChangeAdapter(this));
  159.     bevelPanel3.add(changeReporter1, new XYConstraints(4, 69, 335, -1));
  160.     bevelPanel3.add(changeColor, new XYConstraints(4, 105, -1, -1));
  161.     bevelPanel3.add(label1, new XYConstraints(131, 43, -1, -1));
  162.     bevelPanel3.add(voter1, new XYConstraints(0, 0, 0, 0));
  163.     bevelPanel3.add(vote, new XYConstraints(105, 135, -1, 24));
  164.     bevelPanel3.add(changePrice, new XYConstraints(3, 135, 91, 24));
  165.     tabsetPanel1.add(bevelPanel3, "Jelly Bean");
  166.     bevelPanel3.add(jellyBean1, new XYConstraints(147, 1, -1, -1));
  167.  
  168.     //Bridge Tester
  169.     bridgeTester1.addPropertyChangeListener(new TestBdk_bridgeTester1_propertyChangeAdapter(this));
  170.     bevelPanel4.add(bridgeTester1, new XYConstraints(9, 13, 342, 168));
  171.     bevelPanel4.add(changeReporter2, new XYConstraints(4, 207, 348, -1));
  172.     tabsetPanel1.add(bevelPanel4, "Bridge Tester");
  173.     
  174.     //Molecule
  175.     tabsetPanel1.add(bevelPanel5, "Molecule");
  176.     bevelPanel5.add(molecule1, new XYConstraints(75, 15, 219, 162));
  177.     bevelPanel5.add(choiceControl1, new XYConstraints(75, 188, 219, -1));
  178.     //Use the property editor from the Molecule bean to get the name []
  179.     //for our choice control
  180.     choiceControl1.setItems(new MoleculeNameEditor().getTags());
  181.     choiceControl1.addItemListener(new TestBdk_choiceControl1_itemAdapter(this));
  182.  
  183.     tabsetPanel1.setSelectedIndex(0);
  184.   }
  185.  
  186.   //Get Applet information
  187.   public String getAppletInfo() {
  188.     return "Applet Information";
  189.   }
  190.  
  191.   //Get parameter info
  192.   public String[][] getParameterInfo() {
  193.     return null;
  194.   }
  195.  
  196.   void start_actionPerformed(ActionEvent e) {
  197.     juggler1.start();
  198.   }
  199.  
  200.   void stop_actionPerformed(ActionEvent e) {
  201.     juggler1.stop();
  202.   }
  203.  
  204.   void jCSlider1_adjustmentValueChanged(JCAdjustmentEvent e) {
  205.     juggler1.setAnimationRate(e.getValue());
  206.   }
  207.  
  208.   //Example of bound properties
  209.   void jellyBean1_propertyChange(PropertyChangeEvent e) {
  210.     changeReporter1.reportChange(e);
  211.   }
  212.  
  213.   //Changing the color property should result in the change reporter
  214.   //being notified through the propertyChange event
  215.   void changeColor_actionPerformed(ActionEvent e) {
  216.     colorChooser1.setFrame(new Frame());
  217.     colorChooser1.setValue(jellyBean1.getColor());
  218.     colorChooser1.show();
  219.     if (colorChooser1.getResult() == ColorChooser.OK)
  220.       jellyBean1.setColor(colorChooser1.getValue());
  221.   }
  222.  
  223.   //Let voter determine if property can be set
  224.   void jellyBean1_vetoableChange(PropertyChangeEvent e) throws PropertyVetoException{
  225.     voter1.vetoableChange(e);
  226.   }
  227.  
  228.   //Toggles the voter component
  229.   void vote_actionPerformed(ActionEvent e) {
  230.     if (voter1.getVetoAll()) {
  231.       vote.setLabel("Veto price change");
  232.       voter1.setVetoAll(false);
  233.     } else {
  234.       vote.setLabel("Accept price change");
  235.       voter1.setVetoAll(true);
  236.     }
  237.   }
  238.  
  239.   void changePrice_actionPerformed(ActionEvent e) {
  240.     try {
  241.       jellyBean1.setPriceInCents(jellyBean1.getPriceInCents()+1);
  242.     } catch (Exception x) {x.printStackTrace();}  
  243.   }
  244.  
  245.   void bridgeTester1_propertyChange(PropertyChangeEvent e) {
  246.     changeReporter2.reportChange(e);
  247.   }
  248.  
  249.   void choiceControl1_itemStateChanged(ItemEvent e) {
  250.     molecule1.setMoleculeName(choiceControl1.getSelectedItem());
  251.   }
  252. }
  253.  
  254. class TestBdk_start_actionAdapter implements java.awt.event.ActionListener {
  255.   TestBdk adaptee;
  256.  
  257.   TestBdk_start_actionAdapter(TestBdk adaptee) {
  258.     this.adaptee = adaptee;
  259.   }
  260.  
  261.   public void actionPerformed(ActionEvent e) {
  262.     adaptee.start_actionPerformed(e);
  263.   }
  264. }
  265.  
  266. class TestBdk_stop_actionAdapter implements java.awt.event.ActionListener {
  267.   TestBdk adaptee;
  268.  
  269.   TestBdk_stop_actionAdapter(TestBdk adaptee) {
  270.     this.adaptee = adaptee;
  271.   }
  272.  
  273.   public void actionPerformed(ActionEvent e) {
  274.     adaptee.stop_actionPerformed(e);
  275.   }
  276. }
  277.  
  278. class TestBdk_jCSlider1_adjustmentAdapter implements jclass.bwt.JCAdjustmentListener {
  279.   TestBdk adaptee;
  280.  
  281.   TestBdk_jCSlider1_adjustmentAdapter(TestBdk adaptee) {
  282.     this.adaptee = adaptee;
  283.   }
  284.  
  285.   public void adjustmentValueChanged(JCAdjustmentEvent e) {
  286.     adaptee.jCSlider1_adjustmentValueChanged(e);
  287.   }
  288. }
  289.  
  290. class TestBdk_jellyBean1_propertyChangeAdapter implements java.beans.PropertyChangeListener{
  291.   TestBdk adaptee;
  292.  
  293.   TestBdk_jellyBean1_propertyChangeAdapter(TestBdk adaptee) {
  294.     this.adaptee = adaptee;
  295.   }
  296.  
  297.   public void propertyChange(PropertyChangeEvent e) {
  298.     adaptee.jellyBean1_propertyChange(e);
  299.   }
  300. }
  301.  
  302. class TestBdk_changeColor_actionAdapter implements java.awt.event.ActionListener {
  303.   TestBdk adaptee;
  304.  
  305.   TestBdk_changeColor_actionAdapter(TestBdk adaptee) {
  306.     this.adaptee = adaptee;
  307.   }
  308.  
  309.   public void actionPerformed(ActionEvent e) {
  310.     adaptee.changeColor_actionPerformed(e);
  311.   }
  312. }
  313.  
  314. class TestBdk_jellyBean1_vetoableChangeAdapter implements java.beans.VetoableChangeListener {
  315.   TestBdk adaptee;
  316.  
  317.   TestBdk_jellyBean1_vetoableChangeAdapter(TestBdk adaptee) {
  318.     this.adaptee = adaptee;
  319.   }
  320.  
  321.   public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException{
  322.     adaptee.jellyBean1_vetoableChange(e);
  323.   }
  324. }
  325.  
  326. class TestBdk_vote_actionAdapter implements java.awt.event.ActionListener {
  327.   TestBdk adaptee;
  328.  
  329.   TestBdk_vote_actionAdapter(TestBdk adaptee) {
  330.     this.adaptee = adaptee;
  331.   }
  332.  
  333.   public void actionPerformed(ActionEvent e) {
  334.     adaptee.vote_actionPerformed(e);
  335.   }
  336. }
  337.  
  338. class TestBdk_changePrice_actionAdapter implements java.awt.event.ActionListener {
  339.   TestBdk adaptee;
  340.  
  341.   TestBdk_changePrice_actionAdapter(TestBdk adaptee) {
  342.     this.adaptee = adaptee;
  343.   }
  344.  
  345.   public void actionPerformed(ActionEvent e) {
  346.     adaptee.changePrice_actionPerformed(e);
  347.   }
  348. }
  349.  
  350. class TestBdk_bridgeTester1_propertyChangeAdapter implements java.beans.PropertyChangeListener {
  351.   TestBdk adaptee;
  352.  
  353.   TestBdk_bridgeTester1_propertyChangeAdapter(TestBdk adaptee) {
  354.     this.adaptee = adaptee;
  355.   }
  356.  
  357.   public void propertyChange(PropertyChangeEvent e) {
  358.     adaptee.bridgeTester1_propertyChange(e);
  359.   }
  360. }
  361.  
  362. class TestBdk_choiceControl1_itemAdapter implements java.awt.event.ItemListener {
  363.   TestBdk adaptee;
  364.  
  365.   TestBdk_choiceControl1_itemAdapter(TestBdk adaptee) {
  366.     this.adaptee = adaptee;
  367.   }
  368.  
  369.   public void itemStateChanged(ItemEvent e) {
  370.     adaptee.choiceControl1_itemStateChanged(e);
  371.   }
  372. }
  373.  
  374.