- czwangelo
- 等级: 初级会员

- 性别:
 - 文章: 10
- 积分: 30
- 来自: 杭州

|
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 )");
-
- setSize(450, 250);
- addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent arg0) {
-
- 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) {
-
- 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();
-
- this.frame = frame;
- }
-
- public void actionPerformed(ActionEvent e) {
-
- String lnfName = null;
- String actionCommand = e.getActionCommand();
- System.out.println(actionCommand);
- if(actionCommand.equals("Mac")){
-
- 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) {
-
- e1.printStackTrace();
- } catch (InstantiationException e1) {
-
- e1.printStackTrace();
- } catch (IllegalAccessException e1) {
-
- e1.printStackTrace();
- } catch (UnsupportedLookAndFeelException e1) {
-
- 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";各位有谁知道,这个错误该怎么改吗?
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
返回顶楼 |
|
|
- ouspec
- 等级:


- 性别:
 - 文章: 1927
- 积分: 871
- 来自: 北京

|
这段代码什么意思?
|
返回顶楼 |
|
|
- czwangelo
- 等级: 初级会员

- 性别:
 - 文章: 10
- 积分: 30
- 来自: 杭州

|
我以前是做web开发的,现在想学学GUI开发,所以就在这里随便写写了,非常希望跟大家多多交流
|
返回顶楼 |
|
|
- jianfeng008cn
- 等级:


- 性别:
 - 文章: 682
- 积分: 713
- 来自: 湖州

|
希望注意帖子的质量!要交流可以啊,是不是应该言之有物呢,你要是发在自己的blog上,我是不会有意见的。
|
返回顶楼 |
|
|
- magice
- 等级:


- 文章: 129
- 积分: 288

|
怎么没有语言性质的东西,全是代码哦~
|
返回顶楼 |
|
|
- devworks
- 等级:


- 性别:
 - 文章: 266
- 积分: 272

|
在非Mac平台下不能使用Mac Look and feel
|
返回顶楼 |
|
|