home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 September / dppcpro0998.iso / Rwc / Sybase / Install.exe / samples.z / Form_Button.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-25  |  5.8 KB  |  278 lines

  1. import java.applet.Applet;
  2. import java.awt.Button;
  3. import java.awt.Checkbox;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.FontMetrics;
  10. import java.awt.Insets;
  11. import java.awt.Label;
  12. import java.awt.Rectangle;
  13. import java.awt.TextField;
  14. import java.awt.Window;
  15. import java.awt.event.ActionEvent;
  16. import java.awt.event.ActionListener;
  17. import java.awt.event.ItemEvent;
  18. import java.awt.event.ItemListener;
  19. import java.util.EventObject;
  20. import powersoft.powerj.event.AWTEvent;
  21. import powersoft.powerj.ui.ResizePercentLayout;
  22.  
  23. class Form_Button extends Applet implements ActionListener, ItemListener {
  24.    boolean __mainForm;
  25.    private Button cb_test = new Button();
  26.    private Checkbox checkbox_enabled = new Checkbox();
  27.    private Checkbox checkbox_visible = new Checkbox();
  28.    private TextField textf_count = new TextField();
  29.    private Button cb_reset = new Button();
  30.    private Checkbox checkbox_label = new Checkbox();
  31.    private Label label_1 = new Label();
  32.    private Label label_count = new Label();
  33.    private int _count;
  34.  
  35.    public Rectangle DURectangle(int var1, int var2, int var3, int var4) {
  36.       String var5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  37.       FontMetrics var6 = ((Component)this).getFontMetrics(((Component)this).getFont());
  38.       double var7 = (double)(var6 != null ? var6.stringWidth(var5) / var5.length() : 0);
  39.       double var9 = var6 != null ? (double)var6.getHeight() / (double)2.0F : (double)0.0F;
  40.       return new Rectangle((int)Math.round(var7 * (double)var1 / (double)4.0F), (int)Math.round(var9 * (double)var2 / (double)4.0F), (int)Math.round(var7 * (double)var3 / (double)4.0F), (int)Math.round(var9 * (double)var4 / (double)4.0F));
  41.    }
  42.  
  43.    public void DUPositionComponent(Component var1, int var2, int var3, int var4, int var5, Insets var6) {
  44.       Rectangle var7 = this.DURectangle(var2, var3, var4, var5);
  45.       if (var1 != this && var6 != null) {
  46.          var7.x += var6.left;
  47.          var7.y += var6.top;
  48.       }
  49.  
  50.       var1.setBounds(var7);
  51.    }
  52.  
  53.    public void setMainForm(boolean var1) {
  54.       this.__mainForm = var1;
  55.    }
  56.  
  57.    public boolean isMainForm() {
  58.       return this.__mainForm;
  59.    }
  60.  
  61.    public boolean create() throws Exception {
  62.       Container var1 = this.getContentPane();
  63.       Font var2 = new Font("Dialog", 0, 12);
  64.       ((Component)this).setFont(var2);
  65.       boolean var3 = true;
  66.       Insets var4 = (Insets)var1.getInsets().clone();
  67.       ((Component)var1).setBackground(Color.lightGray);
  68.       ((Component)var1).setForeground(Color.black);
  69.       ResizePercentLayout var5 = new ResizePercentLayout();
  70.       var1.setLayout(var5);
  71.       var1.add(this.cb_test);
  72.       var1.add(this.checkbox_enabled);
  73.       var1.add(this.checkbox_visible);
  74.       var1.add(this.textf_count);
  75.       var1.add(this.cb_reset);
  76.       var1.add(this.checkbox_label);
  77.       var1.add(this.label_1);
  78.       var1.add(this.label_count);
  79.       this.DUPositionComponent(this, 0, 0, 159, 100, var4);
  80.       this.cb_test.addActionListener(this);
  81.       this.DUPositionComponent(this.cb_test, 77, 35, 75, 15, var4);
  82.       this.cb_test.setFont(var2);
  83.       this.cb_test.setBackground(Color.lightGray);
  84.       this.cb_test.setForeground(Color.black);
  85.       this.cb_test.setEnabled(true);
  86.       this.cb_test.setVisible(true);
  87.       this.cb_test.setLabel("Test Button");
  88.       this.checkbox_enabled.addItemListener(this);
  89.       this.DUPositionComponent(this.checkbox_enabled, 17, 20, 50, 16, var4);
  90.       this.checkbox_enabled.setFont(var2);
  91.       this.checkbox_enabled.setBackground(Color.lightGray);
  92.       this.checkbox_enabled.setForeground(Color.black);
  93.       this.checkbox_enabled.setEnabled(true);
  94.       this.checkbox_enabled.setVisible(true);
  95.       this.checkbox_enabled.setLabel("Enabled");
  96.       this.checkbox_enabled.setState(true);
  97.       this.checkbox_visible.addItemListener(this);
  98.       this.DUPositionComponent(this.checkbox_visible, 17, 35, 50, 15, var4);
  99.       this.checkbox_visible.setFont(var2);
  100.       this.checkbox_visible.setBackground(Color.lightGray);
  101.       this.checkbox_visible.setForeground(Color.black);
  102.       this.checkbox_visible.setEnabled(true);
  103.       this.checkbox_visible.setVisible(true);
  104.       this.checkbox_visible.setLabel("Visible");
  105.       this.checkbox_visible.setState(true);
  106.       this.DUPositionComponent(this.textf_count, 57, 70, 34, 15, var4);
  107.       this.textf_count.setFont(var2);
  108.       this.textf_count.setBackground(Color.lightGray);
  109.       this.textf_count.setForeground(Color.black);
  110.       this.textf_count.setEnabled(true);
  111.       this.textf_count.setVisible(true);
  112.       this.textf_count.setText("0");
  113.       this.cb_reset.addActionListener(this);
  114.       this.DUPositionComponent(this.cb_reset, 97, 70, 55, 15, var4);
  115.       this.cb_reset.setFont(var2);
  116.       this.cb_reset.setBackground(Color.lightGray);
  117.       this.cb_reset.setForeground(Color.black);
  118.       this.cb_reset.setEnabled(true);
  119.       this.cb_reset.setVisible(true);
  120.       this.cb_reset.setLabel("Reset Count");
  121.       this.checkbox_label.addItemListener(this);
  122.       this.DUPositionComponent(this.checkbox_label, 17, 50, 50, 15, var4);
  123.       this.checkbox_label.setFont(var2);
  124.       this.checkbox_label.setBackground(Color.lightGray);
  125.       this.checkbox_label.setForeground(Color.black);
  126.       this.checkbox_label.setEnabled(true);
  127.       this.checkbox_label.setVisible(true);
  128.       this.checkbox_label.setLabel("Label");
  129.       this.checkbox_label.setState(true);
  130.       this.DUPositionComponent(this.label_1, 7, 5, 70, 15, var4);
  131.       this.label_1.setText("Button Properties:");
  132.       this.label_1.setAlignment(0);
  133.       this.label_1.setFont(var2);
  134.       this.label_1.setBackground(Color.lightGray);
  135.       this.label_1.setForeground(Color.black);
  136.       this.label_1.setEnabled(true);
  137.       this.label_1.setVisible(true);
  138.       this.DUPositionComponent(this.label_count, 7, 70, 50, 16, var4);
  139.       this.label_count.setText("Click Count:");
  140.       this.label_count.setAlignment(0);
  141.       this.label_count.setFont(var2);
  142.       this.label_count.setBackground(Color.lightGray);
  143.       this.label_count.setForeground(Color.black);
  144.       this.label_count.setEnabled(true);
  145.       this.label_count.setVisible(true);
  146.       var5.setResizePercent(this.cb_test, new Rectangle(0, 0, 0, 0));
  147.       var5.setResizePercent(this.checkbox_enabled, new Rectangle(0, 0, 0, 0));
  148.       var5.setResizePercent(this.checkbox_visible, new Rectangle(0, 0, 0, 0));
  149.       var5.setResizePercent(this.textf_count, new Rectangle(0, 0, 0, 0));
  150.       var5.setResizePercent(this.cb_reset, new Rectangle(0, 0, 0, 0));
  151.       var5.setResizePercent(this.checkbox_label, new Rectangle(0, 0, 0, 0));
  152.       var5.setResizePercent(this.label_1, new Rectangle(0, 0, 0, 0));
  153.       var5.setResizePercent(this.label_count, new Rectangle(0, 0, 0, 0));
  154.       return var3;
  155.    }
  156.  
  157.    public synchronized void destroy() {
  158.       if (this instanceof Window) {
  159.          ((Window)this).dispose();
  160.       } else {
  161.          ((Container)this).removeNotify();
  162.       }
  163.  
  164.       if (this.isMainForm()) {
  165.          System.gc();
  166.          System.runFinalization();
  167.          System.exit(0);
  168.       }
  169.  
  170.    }
  171.  
  172.    public boolean defaultHandleEvent(Event var1) {
  173.       this.defaultProcessEvent(new AWTEvent(var1));
  174.       return false;
  175.    }
  176.  
  177.    public void defaultProcessEvent(java.awt.AWTEvent var1) {
  178.       super.processEvent(var1);
  179.    }
  180.  
  181.    public void actionPerformed(ActionEvent var1) {
  182.       Object var2 = ((EventObject)var1).getSource();
  183.       if (var2 == this.cb_test) {
  184.          this.cb_test_actionPerformed(var1);
  185.       } else if (var2 == this.cb_reset) {
  186.          this.cb_reset_actionPerformed(var1);
  187.       } else {
  188.          this.unhandledEvent("java.awt.event.ActionListener", "actionPerformed", var1);
  189.       }
  190.  
  191.    }
  192.  
  193.    public void itemStateChanged(ItemEvent var1) {
  194.       Object var2 = ((EventObject)var1).getSource();
  195.       if (var2 == this.checkbox_enabled) {
  196.          this.checkbox_enabled_itemStateChanged(var1);
  197.       } else if (var2 == this.checkbox_visible) {
  198.          this.checkbox_visible_itemStateChanged(var1);
  199.       } else if (var2 == this.checkbox_label) {
  200.          this.checkbox_label_itemStateChanged(var1);
  201.       } else {
  202.          this.unhandledEvent("java.awt.event.ItemListener", "itemStateChanged", var1);
  203.       }
  204.  
  205.    }
  206.  
  207.    public boolean Form_Button_WindowDestroy(Event var1) {
  208.       ((Component)this).hide();
  209.       this.destroy();
  210.       return false;
  211.    }
  212.  
  213.    public Form_Button() {
  214.    }
  215.  
  216.    private void updateCounterDisplay() {
  217.       String var1 = Integer.toString(this._count);
  218.       this.textf_count.setText(var1);
  219.    }
  220.  
  221.    public boolean handleEvent(Event var1) {
  222.       return this.defaultHandleEvent(var1);
  223.    }
  224.  
  225.    public void unhandledEvent(String var1, String var2, Object var3) {
  226.    }
  227.  
  228.    public void processEvent(java.awt.AWTEvent var1) {
  229.       this.defaultProcessEvent(var1);
  230.    }
  231.  
  232.    public Container getContentPane() {
  233.       return this;
  234.    }
  235.  
  236.    public boolean cb_test_actionPerformed(ActionEvent var1) {
  237.       ++this._count;
  238.       this.updateCounterDisplay();
  239.       return false;
  240.    }
  241.  
  242.    public boolean checkbox_enabled_itemStateChanged(ItemEvent var1) {
  243.       if (this.checkbox_enabled.getState()) {
  244.          this.cb_test.enable(true);
  245.       } else {
  246.          this.cb_test.enable(false);
  247.       }
  248.  
  249.       return false;
  250.    }
  251.  
  252.    public boolean checkbox_visible_itemStateChanged(ItemEvent var1) {
  253.       if (this.checkbox_visible.getState()) {
  254.          this.cb_test.show(true);
  255.       } else {
  256.          this.cb_test.show(false);
  257.       }
  258.  
  259.       return false;
  260.    }
  261.  
  262.    public boolean cb_reset_actionPerformed(ActionEvent var1) {
  263.       this._count = 0;
  264.       this.updateCounterDisplay();
  265.       return false;
  266.    }
  267.  
  268.    public boolean checkbox_label_itemStateChanged(ItemEvent var1) {
  269.       if (this.checkbox_label.getState()) {
  270.          this.cb_test.setLabel("Test Button");
  271.       } else {
  272.          this.cb_test.setLabel("");
  273.       }
  274.  
  275.       return false;
  276.    }
  277. }
  278.