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

  1. import com.sun.java.swing.AbstractButton;
  2. import com.sun.java.swing.ButtonGroup;
  3. import com.sun.java.swing.JMenu;
  4. import com.sun.java.swing.JRadioButtonMenuItem;
  5. import com.sun.java.swing.UIManager;
  6. import com.sun.java.swing.plaf.metal.MetalLookAndFeel;
  7. import com.sun.java.swing.plaf.metal.MetalTheme;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10.  
  11. public class MetalThemeMenu extends JMenu implements ActionListener {
  12.    MetalTheme[] themes;
  13.  
  14.    public MetalThemeMenu(String var1, MetalTheme[] var2) {
  15.       super(var1);
  16.       this.themes = var2;
  17.       ButtonGroup var3 = new ButtonGroup();
  18.  
  19.       for(int var4 = 0; var4 < this.themes.length; ++var4) {
  20.          JRadioButtonMenuItem var5 = new JRadioButtonMenuItem(this.themes[var4].getName());
  21.          var3.add(var5);
  22.          ((JMenu)this).add(var5);
  23.          ((AbstractButton)var5).setActionCommand(String.valueOf(var4));
  24.          ((AbstractButton)var5).addActionListener(this);
  25.          if (var4 == 0) {
  26.             ((AbstractButton)var5).setSelected(true);
  27.          }
  28.       }
  29.  
  30.    }
  31.  
  32.    public void actionPerformed(ActionEvent var1) {
  33.       String var2 = var1.getActionCommand();
  34.       MetalTheme var3 = this.themes[Integer.parseInt(var2)];
  35.       MetalLookAndFeel.setCurrentTheme(var3);
  36.  
  37.       try {
  38.          UIManager.setLookAndFeel("com.sun.java.swing.plaf.metal.MetalLookAndFeel");
  39.       } catch (Exception var5) {
  40.          System.out.println("Failed loading Metal");
  41.          System.out.println(var5);
  42.       }
  43.    }
  44. }
  45.