import javax.swing.*;
import java.awt.event.*;
public class LAFTest extends JFrame{
JMenuBar menuBar=new JMenuBar();
JMenu menu=new JMenu("Theme");
JMenuItem menuItemWin=new JMenuItem("Windows");
JMenuItem menuItemMetal=new JMenuItem("Metal");
JMenuItem menuItemBasic=new JMenuItem("Basic");
JMenuItem menuItemMulti=new JMenuItem("Multi");
JMenuItem menuItemSynth=new JMenuItem("Synth");
public LAFTest(){
menu.add(menuItemWin);
menu.add(menuItemMetal);
menu.add(menuItemBasic);
menu.add(menuItemMulti);
menu.add(menuItemSynth);
menuBar.add(menu);
menuItemWin.addActionListener(new WindowsAL());
menuItemMetal.addActionListener(new MetalAl());
menuItemBasic.addActionListener(new BasicAl());
menuItemMulti.addActionListener(new MultiAl());
menuItemSynth.addActionListener(new SynthAl());
this.setJMenuBar(menuBar);
this.setAlwaysOnTop(true);
this.setTitle("LAFTest");
this.setSize(400,250);
this.setLocation(352,309);
this.setVisible(true);
this.setDefaultCloseOperation(3);
}
class WindowsAL implements ActionListener{
public void actionPerformed(ActionEvent e){
try {
     UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     SwingUtilities.updateComponentTreeUI(LAFTest.this);
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("WindowsAL");
}
}
class MetalAl implements ActionListener{
public void actionPerformed(ActionEvent e){
try {
     UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
     SwingUtilities.updateComponentTreeUI(LAFTest.this);
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("MetalAL");
}
}
class BasicAl implements ActionListener{
public void actionPerformed(ActionEvent e){
try {
     //UIManager.setLookAndFeel("javax.swing.plaf.basic.BasicLookAndFeel");
     SwingUtilities.updateComponentTreeUI(LAFTest.this);
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("BasicAL");
}
}
class MultiAl implements ActionListener{
public void actionPerformed(ActionEvent e){
try {
     //UIManager.setLookAndFeel("javax.swing.plaf.multi.MultiLookAndFeel");
     SwingUtilities.updateComponentTreeUI(LAFTest.this);
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("MulitAL");
}
}
class SynthAl implements ActionListener{
public void actionPerformed(ActionEvent e){
try {
     UIManager.setLookAndFeel("javax.swing.plaf.synth.SynthLookAndFeel");
     SwingUtilities.updateComponentTreeUI(LAFTest.this);
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("SynthAL");
}
}
public static void main (String[] args) {
new LAFTest();
System.out.println(UIManager.getLookAndFeel());
}
}
为什么MultiLookAndFeel,和BasciLookAndFeel 会出现异常 但是其他的却没有什么事情呢?