home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / May / JBUILDER / JSAMPLES.Z / InternalWindowPanel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-30  |  4.7 KB  |  136 lines

  1. import com.sun.java.swing.BorderFactory;
  2. import com.sun.java.swing.JButton;
  3. import com.sun.java.swing.JCheckBox;
  4. import com.sun.java.swing.JComponent;
  5. import com.sun.java.swing.JDesktopPane;
  6. import com.sun.java.swing.JInternalFrame;
  7. import com.sun.java.swing.JLayeredPane;
  8. import com.sun.java.swing.JPanel;
  9. import com.sun.java.swing.JTextField;
  10. import java.awt.BorderLayout;
  11. import java.awt.Component;
  12. import java.awt.Container;
  13. import java.awt.Dimension;
  14. import java.awt.GridLayout;
  15. import java.awt.event.ActionEvent;
  16. import java.awt.event.ActionListener;
  17. import java.beans.PropertyVetoException;
  18. import java.util.EventObject;
  19.  
  20. public class InternalWindowPanel extends JPanel implements ActionListener {
  21.    JCheckBox closeBox;
  22.    JCheckBox maxBox;
  23.    JCheckBox iconBox;
  24.    JCheckBox resizeBox;
  25.    JTextField titleField;
  26.    JTextField layerField;
  27.    JButton closeAllButton;
  28.    JButton makeButton;
  29.    // $FF: renamed from: lc com.sun.java.swing.JLayeredPane
  30.    JLayeredPane field_0;
  31.    int makeCount;
  32.    JInternalFrame maker;
  33.  
  34.    public InternalWindowPanel() {
  35.       ((Container)this).setLayout(new BorderLayout());
  36.       this.field_0 = new JDesktopPane();
  37.       this.field_0.setOpaque(false);
  38.       this.maker = this.createMakerFrame();
  39.       this.field_0.add(this.maker, JLayeredPane.PALETTE_LAYER);
  40.       ((Container)this).add("Center", this.field_0);
  41.    }
  42.  
  43.    public JInternalFrame createMakerFrame() {
  44.       JInternalFrame var1 = new JInternalFrame("Frame Creator");
  45.       Container var3 = var1.getContentPane();
  46.       var3.setLayout(new GridLayout(0, 1));
  47.       JPanel var2 = new JPanel();
  48.       ((Container)var2).setLayout(new GridLayout(2, 2));
  49.       this.closeBox = new JCheckBox("is Closable ");
  50.       this.closeBox.setSelected(true);
  51.       ((Container)var2).add(this.closeBox);
  52.       this.maxBox = new JCheckBox("is Maxable  ");
  53.       this.maxBox.setSelected(true);
  54.       ((Container)var2).add(this.maxBox);
  55.       this.iconBox = new JCheckBox("is Iconifiable ");
  56.       this.iconBox.setSelected(true);
  57.       ((Container)var2).add(this.iconBox);
  58.       this.resizeBox = new JCheckBox("is Resizable");
  59.       this.resizeBox.setSelected(true);
  60.       ((Container)var2).add(this.resizeBox);
  61.       var3.add(var2);
  62.       var2 = new JPanel();
  63.       ((JComponent)var2).setBorder(BorderFactory.createTitledBorder("Title"));
  64.       ((Container)var2).setLayout(new BorderLayout());
  65.       this.titleField = new JTextField();
  66.       this.titleField.setText("");
  67.       this.titleField.setMinimumSize(new Dimension(50, 25));
  68.       this.titleField.setEditable(true);
  69.       this.titleField.getAccessibleContext().setAccessibleName("Title for created frame");
  70.       ((Container)var2).add(this.titleField, "Center");
  71.       var3.add(var2);
  72.       var2 = new JPanel();
  73.       ((JComponent)var2).setBorder(BorderFactory.createTitledBorder("Layer"));
  74.       ((Container)var2).setLayout(new BorderLayout());
  75.       this.layerField = new JTextField();
  76.       this.layerField.setMinimumSize(new Dimension(50, 25));
  77.       this.layerField.setEditable(true);
  78.       this.layerField.setText("5");
  79.       this.layerField.getAccessibleContext().setAccessibleName("Layer for created frame");
  80.       this.layerField.getAccessibleContext().setAccessibleDescription("This must be an Integer value, which determines which layer in the stacking order to place the newly created Internal Frame");
  81.       ((Container)var2).add(this.layerField, "Center");
  82.       var3.add(var2);
  83.       var2 = new JPanel();
  84.       ((Container)var2).setLayout(new GridLayout(1, 2));
  85.       this.closeAllButton = new JButton("Clear");
  86.       this.closeAllButton.addActionListener(this);
  87.       ((Container)var2).add(this.closeAllButton);
  88.       this.makeButton = new JButton("Make");
  89.       this.makeButton.addActionListener(this);
  90.       ((Container)var2).add(this.makeButton);
  91.       var3.add(var2);
  92.       ((Component)var1).setBounds(360, 10, 270, 250);
  93.       var1.setResizable(true);
  94.       return var1;
  95.    }
  96.  
  97.    public void actionPerformed(ActionEvent var1) {
  98.       if (((EventObject)var1).getSource() == this.closeAllButton) {
  99.          this.field_0.removeAll();
  100.          this.field_0.add(this.maker);
  101.          this.field_0.repaint();
  102.          this.makeCount = 0;
  103.       } else if (((EventObject)var1).getSource() == this.makeButton) {
  104.          JInternalFrame var2 = new JInternalFrame();
  105.          var2.setClosable(this.closeBox.isSelected());
  106.          var2.setMaximizable(this.maxBox.isSelected());
  107.          var2.setIconifiable(this.iconBox.isSelected());
  108.          String var4 = this.titleField.getText();
  109.          if (var4.equals("")) {
  110.             var2.setTitle("Internal Frame " + (this.makeCount + 1));
  111.          } else {
  112.             var2.setTitle(var4);
  113.          }
  114.  
  115.          var2.setResizable(this.resizeBox.isSelected());
  116.  
  117.          int var3;
  118.          try {
  119.             var3 = Integer.parseInt(this.layerField.getText());
  120.          } catch (NumberFormatException var6) {
  121.             var3 = 0;
  122.          }
  123.  
  124.          ++this.makeCount;
  125.          ((Component)var2).setBounds(20 * (this.makeCount % 10), 20 * (this.makeCount % 10), 225, 150);
  126.          var2.setContentPane(new MyScrollPane(var3, this.makeCount));
  127.          this.field_0.add(var2, new Integer(var3));
  128.  
  129.          try {
  130.             var2.setSelected(true);
  131.          } catch (PropertyVetoException var5) {
  132.          }
  133.       }
  134.    }
  135. }
  136.