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

  1. import com.sun.java.swing.AbstractButton;
  2. import com.sun.java.swing.JCheckBoxMenuItem;
  3. import com.sun.java.swing.JDesktopPane;
  4. import com.sun.java.swing.JFrame;
  5. import com.sun.java.swing.JInternalFrame;
  6. import com.sun.java.swing.JMenu;
  7. import com.sun.java.swing.JMenuBar;
  8. import com.sun.java.swing.JMenuItem;
  9. import com.sun.java.swing.JOptionPane;
  10. import com.sun.java.swing.JSeparator;
  11. import com.sun.java.swing.UIManager;
  12. import com.sun.java.swing.plaf.metal.DefaultMetalTheme;
  13. import com.sun.java.swing.plaf.metal.MetalTheme;
  14. import com.sun.java.swing.preview.JFileChooser;
  15. import java.awt.Component;
  16. import java.awt.Dialog;
  17. import java.awt.Dimension;
  18. import java.awt.Toolkit;
  19. import java.awt.Window;
  20. import java.beans.PropertyVetoException;
  21.  
  22. public class MetalworksFrame extends JFrame {
  23.    JMenuBar menuBar;
  24.    JDesktopPane desktop;
  25.    JInternalFrame toolPalette;
  26.    JCheckBoxMenuItem showToolPaletteMenuItem;
  27.    static final Integer DOCLAYER = new Integer(5);
  28.    static final Integer TOOLLAYER = new Integer(6);
  29.    static final Integer HELPLAYER = new Integer(7);
  30.    static final String ABOUTMSG = "Metalworks \n \nAn application written to show off the Metal Look & Feel. \n \nWritten by the Metal Look & Feel Team \n  Michael Albers\n  Tom Santos\n  Jeff Shapiro\n  Steve Wilson";
  31.  
  32.    public MetalworksFrame() {
  33.       super("Metalworks");
  34.       ((Component)this).setBackground(UIManager.getColor("control"));
  35.       byte var1 = 50;
  36.       Dimension var2 = Toolkit.getDefaultToolkit().getScreenSize();
  37.       ((Component)this).setBounds(var1, var1, var2.width - var1 * 2, var2.height - var1 * 2);
  38.       this.buildContent();
  39.       this.buildMenus();
  40.       ((Window)this).addWindowListener(new MetalworksFrame$1(this));
  41.       UIManager.addPropertyChangeListener(new UISwitchListener(((JFrame)this).getRootPane()));
  42.    }
  43.  
  44.    protected void buildMenus() {
  45.       this.menuBar = new JMenuBar();
  46.       this.menuBar.setOpaque(true);
  47.       JMenu var1 = this.buildFileMenu();
  48.       JMenu var2 = this.buildEditMenu();
  49.       JMenu var3 = this.buildViewsMenu();
  50.       JMenu var4 = this.buildHelpMenu();
  51.       MetalTheme[] var5 = new MetalTheme[]{new DefaultMetalTheme(), new GreenMetalTheme(), new ContrastMetalTheme()};
  52.       MetalThemeMenu var6 = new MetalThemeMenu("Theme", var5);
  53.       this.menuBar.add(var1);
  54.       this.menuBar.add(var2);
  55.       this.menuBar.add(var3);
  56.       this.menuBar.add(var6);
  57.       this.menuBar.add(var4);
  58.       ((JFrame)this).setJMenuBar(this.menuBar);
  59.    }
  60.  
  61.    protected JMenu buildFileMenu() {
  62.       JMenu var1 = new JMenu("File");
  63.       JMenuItem var2 = new JMenuItem("New");
  64.       JMenuItem var3 = new JMenuItem("Open");
  65.       JMenuItem var4 = new JMenuItem("Quit");
  66.       ((AbstractButton)var2).addActionListener(new MetalworksFrame$2(this));
  67.       ((AbstractButton)var3).addActionListener(new MetalworksFrame$3(this));
  68.       ((AbstractButton)var4).addActionListener(new MetalworksFrame$4(this));
  69.       var1.add(var2);
  70.       var1.add(var3);
  71.       var1.add(new JSeparator());
  72.       var1.add(var4);
  73.       return var1;
  74.    }
  75.  
  76.    protected JMenu buildEditMenu() {
  77.       JMenu var1 = new JMenu("Edit");
  78.       JMenuItem var2 = new JMenuItem("Undo");
  79.       JMenuItem var3 = new JMenuItem("Copy");
  80.       JMenuItem var4 = new JMenuItem("Cut");
  81.       JMenuItem var5 = new JMenuItem("Paste");
  82.       JMenuItem var6 = new JMenuItem("Preferences...");
  83.       var2.setEnabled(false);
  84.       var3.setEnabled(false);
  85.       var4.setEnabled(false);
  86.       var5.setEnabled(false);
  87.       ((AbstractButton)var6).addActionListener(new MetalworksFrame$5(this));
  88.       var1.add(var2);
  89.       var1.add(new JSeparator());
  90.       var1.add(var4);
  91.       var1.add(var3);
  92.       var1.add(var5);
  93.       var1.add(new JSeparator());
  94.       var1.add(var6);
  95.       return var1;
  96.    }
  97.  
  98.    protected JMenu buildViewsMenu() {
  99.       JMenu var1 = new JMenu("Views");
  100.       JMenuItem var2 = new JMenuItem("Open In-Box");
  101.       JMenuItem var3 = new JMenuItem("Open Out-Box");
  102.       var3.setEnabled(false);
  103.       ((AbstractButton)var2).addActionListener(new MetalworksFrame$6(this));
  104.       var1.add(var2);
  105.       var1.add(var3);
  106.       return var1;
  107.    }
  108.  
  109.    protected JMenu buildHelpMenu() {
  110.       JMenu var1 = new JMenu("Help");
  111.       JMenuItem var2 = new JMenuItem("About Metalworks...");
  112.       JMenuItem var3 = new JMenuItem("Open Help Window");
  113.       ((AbstractButton)var2).addActionListener(new MetalworksFrame$7(this));
  114.       ((AbstractButton)var3).addActionListener(new MetalworksFrame$8(this));
  115.       var1.add(var2);
  116.       var1.add(var3);
  117.       return var1;
  118.    }
  119.  
  120.    protected void buildContent() {
  121.       this.desktop = new JDesktopPane();
  122.       ((JFrame)this).getContentPane().add(this.desktop);
  123.    }
  124.  
  125.    public void quit() {
  126.       System.exit(0);
  127.    }
  128.  
  129.    public void newDocument() {
  130.       MetalworksDocumentFrame var1 = new MetalworksDocumentFrame();
  131.       this.desktop.add(var1, DOCLAYER);
  132.  
  133.       try {
  134.          ((JInternalFrame)var1).setSelected(true);
  135.       } catch (PropertyVetoException var2) {
  136.       }
  137.    }
  138.  
  139.    public void openDocument() {
  140.       JFileChooser var1 = new JFileChooser();
  141.       var1.showDialog(this);
  142.    }
  143.  
  144.    public void openHelpWindow() {
  145.       MetalworksHelp var1 = new MetalworksHelp();
  146.       this.desktop.add(var1, HELPLAYER);
  147.  
  148.       try {
  149.          ((JInternalFrame)var1).setSelected(true);
  150.       } catch (PropertyVetoException var2) {
  151.       }
  152.    }
  153.  
  154.    public void showAboutBox() {
  155.       JOptionPane.showMessageDialog(this, "Metalworks \n \nAn application written to show off the Metal Look & Feel. \n \nWritten by the Metal Look & Feel Team \n  Michael Albers\n  Tom Santos\n  Jeff Shapiro\n  Steve Wilson");
  156.    }
  157.  
  158.    public void openPrefsWindow() {
  159.       MetalworksPrefs var1 = new MetalworksPrefs(this);
  160.       ((Dialog)var1).show();
  161.    }
  162.  
  163.    public void openInBox() {
  164.       MetalworksInBox var1 = new MetalworksInBox();
  165.       this.desktop.add(var1, DOCLAYER);
  166.  
  167.       try {
  168.          ((JInternalFrame)var1).setSelected(true);
  169.       } catch (PropertyVetoException var2) {
  170.       }
  171.    }
  172. }
  173.