Results 1 to 1 of 1
Thread: A Look-and-feel switcher
-
A Look-and-feel switcher
Java Code:import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JRadioButton; import javax.swing.SwingUtilities; import javax.swing.UIManager; /** * A Look-and-feel switcher. * * @author Ian Darwin, http://www.darwinsys.com/ * @version $Id: LNFSwitcher.java,v 1.7 2004/03/07 04:03:15 ian Exp $ */ public class LNFSwitcher { /** The frame. */ protected JFrame theFrame; /** Its content pane */ protected Container cp; /** Start with the Java look-and-feel, if possible */ final static String PREFERREDLOOKANDFEELNAME = "javax.swing.plaf.metal.MetalLookAndFeel"; protected String curLF = PREFERREDLOOKANDFEELNAME; protected JRadioButton previousButton; /** Construct a program... */ public LNFSwitcher() { super(); theFrame = new JFrame("LNF Switcher"); theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cp = theFrame.getContentPane(); cp.setLayout(new FlowLayout()); ButtonGroup bg = new ButtonGroup(); JRadioButton bJava = new JRadioButton("Java"); bJava.addActionListener(new LNFSetter( "javax.swing.plaf.metal.MetalLookAndFeel", bJava)); bg.add(bJava); cp.add(bJava); JRadioButton bMSW = new JRadioButton("MS-Windows"); bMSW.addActionListener(new LNFSetter( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel", bMSW)); bg.add(bMSW); cp.add(bMSW); JRadioButton bMotif = new JRadioButton("Motif"); bMotif.addActionListener(new LNFSetter( "com.sun.java.swing.plaf.motif.MotifLookAndFeel", bMotif)); bg.add(bMotif); cp.add(bMotif); JRadioButton bMac = new JRadioButton("Sun-MacOS"); bMac.addActionListener(new LNFSetter( "com.sun.java.swing.plaf.mac.MacLookAndFeel", bMac)); bg.add(bMac); cp.add(bMac); String defaultLookAndFeel = UIManager.getSystemLookAndFeelClassName(); // System.out.println(defaultLookAndFeel); JRadioButton bDefault = new JRadioButton("Default"); bDefault.addActionListener(new LNFSetter(defaultLookAndFeel, bDefault)); bg.add(bDefault); cp.add(bDefault); (previousButton = bDefault).setSelected(true); theFrame.pack(); theFrame.setVisible(true); } /* Class to set the Look and Feel on a frame */ class LNFSetter implements ActionListener { String theLNFName; JRadioButton thisButton; /** Called to setup for button handling */ LNFSetter(String lnfName, JRadioButton me) { theLNFName = lnfName; thisButton = me; } /** Called when the button actually gets pressed. */ public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel(theLNFName); SwingUtilities.updateComponentTreeUI(theFrame); theFrame.pack(); } catch (Exception evt) { JOptionPane.showMessageDialog(null, "setLookAndFeel didn't work: " + evt, "UI Failure", JOptionPane.INFORMATION_MESSAGE); previousButton.setSelected(true); // reset the GUI to agree } previousButton = thisButton; } } public static void main(String[] argv) { new LNFSwitcher(); } }"The sole cause of man’s unhappiness is that he does not know how to stay quietly in his room." - Blaise Pascal
Similar Threads
-
Swing - Look and feel
By Java Tip in forum Java TipReplies: 0Last Post: 03-11-2008, 10:53 PM -
Look and Feel
By arun_kumar in forum AWT / SwingReplies: 1Last Post: 11-17-2007, 06:21 PM -
look and feel plugin
By gabriel in forum New To JavaReplies: 2Last Post: 08-06-2007, 08:44 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks