简体   繁体   English

将Java Look and Feel集成到netbeans中的应用程序

[英]Integrating Java Look And Feel into Application in netbeans

I'm devloping a java program using netbeans 我正在使用NetBeans开发Java程序

I added a look and feel to GUI application which is Synthetica AluOxide Look and Feel from this website : http://www.javasoft.de/synthetica/themes/ . 我从以下网站向GUI应用程序添加了外观,即Synthetica AluOxide外观: http : //www.javasoft.de/synthetica/themes/

I added the Synthetica.jar and syntheticaAluOxide.jar using Add Jar/Folder dialog o my project Libraries. 我使用项目库中的“添加罐子/文件夹”对话框添加了Synthetica.jar和syntheticaAluOxide.jar。

and then I added this code to my class load : 然后我将此代码添加到类加载中:

import de.javasoft.plaf.synthetica.SyntheticaAluOxideLookAndFeel;

. . .

try 
    {
      UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel());
    } 
    catch (Exception e) 
    {
      e.printStackTrace();
    }

but when I run my application I don't get any changes, and I get this error when I click on some component in my application : 但是当我运行我的应用程序时,我没有任何改变,当我点击应用程序中的某个组件时,我得到了这个错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217) at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1003) at javax.swing.JComponent.getFontMetrics(JComponent.java:1615) at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:125) at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.(SynthMenuItemLayoutHelper.java:119) at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498) at javax.swing.plaf.synth.SynthMenuUI.paint(SynthMenuUI.java:283) at javax.swing.plaf.synth.SynthMenuUI.update(SynthMenuUI.java:248) at javax.swing.JComponent.paintComponent(JComponent.java:769) at javax.swing.JComponent.paint(JComponent.java:1045) at javax.swing.JComponent.paintChildren(JComponent.java:878) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JComponent.paintChildren(JComponen sun的sun.font.FontDesignMetrics $ MetricsKey.init(FontDesignMetrics.java:217)处的线程“ AWT-EventQueue-0”中的java.lang.NullPointerException处的sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)处的异常。在javax.swing.plaf.synth上的swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1003)在javax.swing.JComponent.getFontMetrics(JComponent.java:1615)在sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:125) .SynthMenuItemLayoutHelper。(SynthMenuItemLayoutHelper.java:119)at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)at javax.swing.plaf.synth.SynthMenuUI.paint(SynthMenuUI.java:283) javax.swing.JComponent.paintComponent(JComponent.java:769)上的.swing.plaf.synth.SynthMenuUI.update(SynthMenuUI.java:248)在javax上的javax.swing.JComponent.paint(JComponent.java:1045)。在javax.swing.JComponent.paint(JComponent.java:1054)处的swing.JComponent.paintChildren(JComponent.java:878)在javax.swing.JComponent.paintChildren(JComponen处) t.java:878) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JLayeredPane.paint(JLayeredPane.java:585) at javax.swing.JComponent.paintChildren(JComponent.java:878) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5212) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295) at javax.swing.RepaintManager.paint(RepaintManager.java:1236) at javax.swing.JComponent._paintImmediately(JComponent.java:5160) at javax.swing.JComponent.paintImmediately(JComponent.java:4971) at javax.swing.RepaintManager$3.run(RepaintManager.java:796) at javax.swing.RepaintManager$3.run(RepaintManager.java:784) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:757) at t.java:878)at javax.swing.JComponent.paint(JComponent.java:1054)at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)at javax.swing.JComponent.paintChildren(JComponent.java:878 )在javax.swing.JComponent.paint(JComponent.java:1054)在javax.swing.JComponent.paintToOffscreen(JComponent.java:5212)在javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)在javax.swing .repaintManager.paint(RepaintManager.java:1236)(位于javax.swing.JComponent._paintImmediately(JComponent.java:5160)(位于javax.swing.JComponent.paintImmediately(JComponent.java:4971),位于javax.swing.RepaintManager $ 3.run) (RepaintManager.java:796)在javax.swing.RepaintManager $ 3.run(RepaintManager.java:784)在java.security.AccessController.doPrivileged(本机方法)在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76) )的javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784)的javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:757)的 javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:62) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1651) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:697) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEv Java处的javax.swing.RepaintManager.access $ 1000(RepaintManager.java:62)处的javax.swing.RepaintManager.access $ 1000(RepaintManager.java:62)处的javax.swing.RepaintManager $ ProcessingRunnable.run(RepaintManager.java:1651)处的javax.swing.RepaintManager.access $ 1000(RepaintManager.java:62) java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)处的awt.event.InvocationEvent.dispatch(InvocationEvent.java:251),java.awt处的java.awt.EventQueue.access $ 200(EventQueue.java:103)。 java.awt.EventQueue $ 3.run(EventQueue.java:686)处java.security.AccessController.doPrivileged(Native Method)处的EventQueue $ 3.run(EventQueue.java:686)java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain处的本地方法) .java:76)at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)在java.awt.EventDispatchThread.pumpEv处的java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) ents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sun.font.FontDesignMetrics$MetricsKey.init(FontDesignMetrics.java:217) at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1003) at javax.swing.JComponent.getFontMetrics(JComponent.java:1615) at sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126) at javax.swing.plaf.synth.SynthMenuItemLayoutHelper.(SynthMenuItemLayoutHelper.java:119) at javax.swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498) at javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283) at javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI.java:247) at javax.swing.JComponent.paintComponent(JComponent.java:769) at javax.swing.JComponent.pai ents(EventDispatchThread.java:146)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)线程“ AWT-EventQueue-0” java中的异常。在sun.font.FontDesignMetrics $ MetricsKey.init(FontDesignMetrics.java:217)处的lang.NullPointerException在sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2)处的sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:286)处在javax.swing.Jack.getFontMetrics(JComponent.java:1615)在sun.swing.MenuItemLayoutHelper.reset(MenuItemLayoutHelper.java:126)在javax.swing.plaf.synth.SynthMenuItemLayoutHelper。(SynthMenuItemLayoutHelper.java:119) .swing.plaf.synth.SynthGraphicsUtils.paint(SynthGraphicsUtils.java:498)在javax.swing.plaf.synth.SynthMenuItemUI.paint(SynthMenuItemUI.java:283)在javax.swing.plaf.synth.SynthMenuItemUI.update(SynthMenuItemUI。 .java:247),位于javax.swing.JComponent.paintComponent(JComponent.java:769),位于javax.swing.JComponent.pai nt(JComponent.java:1045) at javax.swing.JComponent.paintChildren(JComponent.java:878) at javax.swing.JComponent.paint(JComponent.java:1054) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5212) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1512) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1443) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:311) at javax.swing.RepaintManager.paint(RepaintManager.java:1236) at javax.swing.JComponent._paintImmediately(JComponent.java:5160) at javax.swing.JComponent.paintImmediately(JComponent.java:4971) at javax.swing.RepaintManager$3.run(RepaintManager.java:796) at javax.swing.RepaintManager$3.run(RepaintManager.java:784) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784) at javax.s nt(JComponent.java:1045)at javax.swing.JComponent.paintChildren(JComponent.java:878)at javax.swing.JComponent.paint(JComponent.java:1054)at javax.swing.JComponent.paintToOffscreen(JComponent.java :5212),位于javax.swing.RepaintManager $ PaintManager.paintDoubleBuffered(RepaintManager.java:1512),位于javax.swing.RepaintManager $ PaintManager.paint(RepaintManager.java:1443),位于javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java: 311),位于javax.swing.JComponent.paintImmediately(JComponent.java:4971),位于javax.swing.JComponent._paintImmediately(JComponent.java:5160),位于javax.swing.JComponent.paintImmediately(JComponent.java:4971),位于javax.swing.RepaintManager.paint(RepaintManager.java:1236)。在javax.swing.RepaintManager $ 3.run(RepaintManager.java:784)处的swing.RepaintManager $ 3.run(RepaintManager.java:796)在java.security.ProtectionDomain $ 1.doIntersectionPrivilege处的java.security.AccessController.doPrivileged(本机方法)处(ProtectionDomain.java:76)在javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784)在javax.s wing.RepaintManager.paintDirtyRegions(RepaintManager.java:757) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:62) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1651) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.awt.EventQueue$3.run(EventQueue.java:686) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:697) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Ev 在javax.swing.RepaintManager.access的wing.RepaintManager.paintDirtyRegions(RepaintManager.java:757)在javax.swing.RepaintManager.access $ 1000(RepaintManager.java:62)在javax.swing.RepaintManager $ java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)的ProcessingRunnable.run(RepaintManager.java:1651),java.awt.EventQueue.access的java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727) $ 200(EventQueue.java:103)at java.awt.EventQueue $ 3.run(EventQueue.java:688)at java.awt.EventQueue $ 3.run(EventQueue.java:686)at java.security.AccessController.doPrivileged(Native方法)在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)在java.awt.EventQueue.dispatchEvent(EventQueue.java:697)在java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) .awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)在java.awt.EventDispatchThread.pumpEventsForHierarchy(Ev entDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) entDispatchThread.java:150)的java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)的java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)的java.awt.EventDispatchThread.run(EventDispatchThread.java:91) )

Did you include Synthetica's core library 'synthetica.jar' 您是否包括Synthetica的核心库'synthetica.jar'

  1. Ensure that your classpath contains all Synthetica libraries (including Synthetica's core library 'synthetica.jar'). 确保您的类路径包含所有Synthetica库(包括Synthetica的核心库'synthetica.jar')。

  2. Enable the Synthetica Look and Feel at startup time in your application: 在应用程序启动时启用Synthetica外观:

     import de.javasoft.plaf.synthetica.SyntheticaClassyLookAndFeel; try { UIManager.setLookAndFeel(new SyntheticaClassyLookAndFeel()); } catch (Exception e) { e.printStackTrace(); } 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM