UIManager: getInstalledLookAndFeels() : UIManager « javax.swing « Java by API






UIManager: getInstalledLookAndFeels()

  
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class MainClass {

  public static void main(String args[]) {
    final JFrame frame = new JFrame("Change Look");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    ActionListener actionListener = new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        Object source = actionEvent.getSource();
        String lafClassName = null;
        if (source instanceof JComboBox) {
          JComboBox comboBox = (JComboBox) source;
          lafClassName = (String) comboBox.getSelectedItem();
        } else if (source instanceof JButton) {
          lafClassName = actionEvent.getActionCommand();
        }
        if (lafClassName != null) {
          final String finalLafClassName = lafClassName;
          try {
            UIManager.setLookAndFeel(finalLafClassName);
            SwingUtilities.updateComponentTreeUI(frame);
          } catch (Exception exception) {
            JOptionPane.showMessageDialog(frame, "Can't change look and feel", "Invalid PLAF",
                JOptionPane.ERROR_MESSAGE);
          }
        }
      }
    };

    UIManager.LookAndFeelInfo looks[] = UIManager.getInstalledLookAndFeels();

    DefaultComboBoxModel model = new DefaultComboBoxModel();
    JComboBox comboBox = new JComboBox(model);

    JPanel panel = new JPanel();

    for (int i = 0, n = looks.length; i < n; i++) {
      JButton button = new JButton(looks[i].getName());
      model.addElement(looks[i].getClassName());
      button.setActionCommand(looks[i].getClassName());
      button.addActionListener(actionListener);
      panel.add(button);
    }

    comboBox.addActionListener(actionListener);

    frame.add(comboBox, BorderLayout.NORTH);
    frame.add(panel, BorderLayout.SOUTH);
    frame.setSize(350, 150);
    frame.setVisible(true);
  }
}

           
         
    
  








Related examples in the same category

1.UIManager.LookAndFeelInfo: getClassName()
2.UIManager.LookAndFeelInfo: getClassName() (2)
3.UIManager.LookAndFeelInfo: getName()
4.UIManager: get(Object key)
5.UIManager: getBorder(Object key)
6.UIManager: getCrossPlatformLookAndFeelClassName()
7.UIManager: getLookAndFeelDefaults()
8.UIManager: getSystemLookAndFeelClassName()
9.UIManager: put(Object key, Object value)
10.UIManager: setLookAndFeel(String className)