java 代码
- package com.examples;
- import java.awt.BorderLayout;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import javax.swing.JButton;
- import javax.swing.JPanel;
- public class ToolBarFrame2 extends Frame {
- JButton cutButton,copyButton,pasteButton;
- JButton javaButton,macButton,motifButton,winButton;
- public ToolBarFrame2() {
- super("ToolBar Example ( Swing )");
- // TODO Auto-generated constructor stub
- setSize(450, 250);
- addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent arg0) {
- // TODO Auto-generated method stub
- System.exit(0);
- }
- });
- JPanel toolbar = new JPanel();
- toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));
- cutButton = new JButton("Cut");
- ActionListener printListener = new ActionListener(){
- public void actionPerformed(ActionEvent ae) {
- // TODO Auto-generated method stub
- System.out.println(ae.getActionCommand());
- }
- };
- cutButton.addActionListener(printListener);
- toolbar.add(cutButton);
- copyButton = new JButton("Copy");
- copyButton.addActionListener(printListener);
- toolbar.add(copyButton);
- pasteButton = new JButton("Paste");
- pasteButton.addActionListener(printListener);
- toolbar.add(pasteButton);
- add(toolbar,BorderLayout.NORTH);
- JPanel lnfPanel = new JPanel();
- LnFListener lnfListener = new LnFListener(this);
- macButton = new JButton("Mac");
- macButton.addActionListener(lnfListener);
- lnfPanel.add(macButton);
- javaButton = new JButton("Metal");
- javaButton.addActionListener(lnfListener);
- lnfPanel.add(javaButton);
- motifButton = new JButton("Motif");
- motifButton.addActionListener(lnfListener);
- lnfPanel.add(motifButton);
- winButton = new JButton("Windows");
- winButton.addActionListener(lnfListener);
- lnfPanel.add(winButton);
- add(lnfPanel,BorderLayout.SOUTH);
- }
- public static void main(String[] args) {
- ToolBarFrame2 tf1 = new ToolBarFrame2();
- tf1.setVisible(true);
- }
- }
LnFListener代码
- package com.examples;
- import java.awt.Frame;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- public class LnFListener implements ActionListener {
- Frame frame;
- public LnFListener(Frame frame) {
- super();
- // TODO Auto-generated constructor stub
- this.frame = frame;
- }
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- String lnfName = null;
- String actionCommand = e.getActionCommand();
- System.out.println(actionCommand);
- if(actionCommand.equals("Mac")){
- //lnfName="com.apple.mrj.swing.MacLookAndFeel";
- lnfName="com.apple.mrj.swing.MacLookAndFeel";
- }else if(actionCommand.equals("Metal")){
- lnfName="javax.swing.plaf.metal.MetalLookAndFeel";
- }else if(actionCommand.equals("Motif")){
- lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
- }else if(actionCommand.equals("Windows")){
- lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
- }else{
- System.err.print("Unjfj");
- return;
- }
- try {
- UIManager.setLookAndFeel(lnfName);
- SwingUtilities.updateComponentTreeUI(frame);
- } catch (ClassNotFoundException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (InstantiationException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (IllegalAccessException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- } catch (UnsupportedLookAndFeelException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- }
我发现一个问题了,
当我点击:"Mac"按钮的时候,却会出错,报的错是:
- Mac
- java.lang.ClassNotFoundException: com.apple.mrj.swing.MacLookAndFeel
- at java.net.URLClassLoader$1.run(Unknown Source)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.net.URLClassLoader.findClass(Unknown Source)
我想这里的的原因是在于"com.apple.mrj.swing.MacLookAndFeel";各位有谁知道,这个错误该怎么改吗?