开始写java博客了,希望能够坚持下去

阅读更多
java 代码
  1. package com.examples;   
  2.   
  3. import java.awt.BorderLayout;   
  4. import java.awt.FlowLayout;   
  5. import java.awt.Frame;   
  6. import java.awt.event.ActionEvent;   
  7. import java.awt.event.ActionListener;   
  8. import java.awt.event.WindowAdapter;   
  9. import java.awt.event.WindowEvent;   
  10.   
  11. import javax.swing.JButton;   
  12. import javax.swing.JPanel;   
  13.   
  14.   
  15.   
  16. public class ToolBarFrame2 extends Frame {   
  17.     JButton cutButton,copyButton,pasteButton;   
  18.     JButton javaButton,macButton,motifButton,winButton;   
  19.   
  20.     public ToolBarFrame2() {   
  21.         super("ToolBar Example ( Swing )");   
  22.         // TODO Auto-generated constructor stub   
  23.         setSize(450250);   
  24.         addWindowListener(new WindowAdapter() {   
  25.             @Override  
  26.             public void windowClosing(WindowEvent arg0) {   
  27.                 // TODO Auto-generated method stub   
  28.                 System.exit(0);   
  29.             }   
  30.         });   
  31.         JPanel toolbar = new JPanel();   
  32.         toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));   
  33.         cutButton = new JButton("Cut");   
  34.         ActionListener printListener = new ActionListener(){   
  35.   
  36.             public void actionPerformed(ActionEvent ae) {   
  37.                 // TODO Auto-generated method stub   
  38.                 System.out.println(ae.getActionCommand());   
  39.             }   
  40.                
  41.                
  42.         };   
  43.         cutButton.addActionListener(printListener);   
  44.         toolbar.add(cutButton);   
  45.            
  46.         copyButton = new JButton("Copy");   
  47.         copyButton.addActionListener(printListener);   
  48.         toolbar.add(copyButton);   
  49.            
  50.         pasteButton = new JButton("Paste");   
  51.         pasteButton.addActionListener(printListener);   
  52.         toolbar.add(pasteButton);   
  53.            
  54.         add(toolbar,BorderLayout.NORTH);   
  55.            
  56.         JPanel lnfPanel = new JPanel();   
  57.         LnFListener lnfListener = new LnFListener(this);   
  58.         macButton = new JButton("Mac");   
  59.         macButton.addActionListener(lnfListener);   
  60.         lnfPanel.add(macButton);   
  61.            
  62.         javaButton = new JButton("Metal");   
  63.         javaButton.addActionListener(lnfListener);   
  64.         lnfPanel.add(javaButton);   
  65.            
  66.         motifButton = new JButton("Motif");   
  67.         motifButton.addActionListener(lnfListener);   
  68.         lnfPanel.add(motifButton);   
  69.            
  70.         winButton = new JButton("Windows");   
  71.         winButton.addActionListener(lnfListener);   
  72.         lnfPanel.add(winButton);   
  73.         add(lnfPanel,BorderLayout.SOUTH);   
  74.            
  75.            
  76.     }   
  77.     public static void main(String[] args) {   
  78.         ToolBarFrame2 tf1 = new ToolBarFrame2();   
  79.         tf1.setVisible(true);   
  80.     }   
  81.   
  82. }   
LnFListener代码
  1. package com.examples;   
  2.   
  3. import java.awt.Frame;   
  4. import java.awt.event.ActionEvent;   
  5. import java.awt.event.ActionListener;   
  6. import javax.swing.*;   
  7.   
  8. public class LnFListener implements ActionListener {   
  9.     Frame frame;   
  10.   
  11.     public LnFListener(Frame frame) {   
  12.         super();   
  13.         // TODO Auto-generated constructor stub   
  14.         this.frame = frame;   
  15.     }   
  16.   
  17.     public void actionPerformed(ActionEvent e) {   
  18.         // TODO Auto-generated method stub   
  19.         String lnfName = null;   
  20.         String actionCommand = e.getActionCommand();   
  21.         System.out.println(actionCommand);   
  22.         if(actionCommand.equals("Mac")){   
  23.             //lnfName="com.apple.mrj.swing.MacLookAndFeel";   
  24.             lnfName="com.apple.mrj.swing.MacLookAndFeel";   
  25.         }else if(actionCommand.equals("Metal")){   
  26.             lnfName="javax.swing.plaf.metal.MetalLookAndFeel";   
  27.         }else if(actionCommand.equals("Motif")){   
  28.             lnfName = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";   
  29.         }else if(actionCommand.equals("Windows")){   
  30.             lnfName = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";   
  31.         }else{   
  32.             System.err.print("Unjfj");   
  33.             return;   
  34.         }   
  35.         try {   
  36.             UIManager.setLookAndFeel(lnfName);   
  37.             SwingUtilities.updateComponentTreeUI(frame);   
  38.         } catch (ClassNotFoundException e1) {   
  39.             // TODO Auto-generated catch block   
  40.             e1.printStackTrace();   
  41.         } catch (InstantiationException e1) {   
  42.             // TODO Auto-generated catch block   
  43.             e1.printStackTrace();   
  44.         } catch (IllegalAccessException e1) {   
  45.             // TODO Auto-generated catch block   
  46.             e1.printStackTrace();   
  47.         } catch (UnsupportedLookAndFeelException e1) {   
  48.             // TODO Auto-generated catch block   
  49.             e1.printStackTrace();   
  50.         }   
  51.   
  52.     }   
  53.   
  54. }   

我发现一个问题了,

当我点击:"Mac"按钮的时候,却会出错,报的错是:

  1. Mac   
  2. java.lang.ClassNotFoundException: com.apple.mrj.swing.MacLookAndFeel   
  3.     at java.net.URLClassLoader$1.run(Unknown Source)   
  4.     at java.security.AccessController.doPrivileged(Native Method)   
  5.     at java.net.URLClassLoader.findClass(Unknown Source)  

我想这里的的原因是在于"com.apple.mrj.swing.MacLookAndFeel";各位有谁知道,这个错误该怎么改吗?

 

你可能感兴趣的:(Java,Swing,Apple,Windows,SUN)