Java 物质外观和感觉问题

Java 物质外观和感觉问题,java,swing,swingx,substance,Java,Swing,Swingx,Substance,我已经下载了最近的substance库,还下载了支持SwingX组件的插件。当我运行应用程序时,仍然会出现以下错误 UIDefaults.getUI() failed: no ComponentUI class for: org.jdesktop.swingx.JXTaskPaneContainer[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,bord er=,flags=9,maximumSize=,minimumSize=,prefer

我已经下载了最近的substance库,还下载了支持SwingX组件的插件。当我运行应用程序时,仍然会出现以下错误

UIDefaults.getUI() failed: no ComponentUI class for:   org.jdesktop.swingx.JXTaskPaneContainer[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,bord  er=,flags=9,maximumSize=,minimumSize=,preferredSize=]  
java.lang.Error  
        at javax.swing.UIDefaults.getUIError(UIDefaults.java:711)  
        at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:133)  
        at javax.swing.UIDefaults.getUI(UIDefaults.java:741)  
        at javax.swing.UIManager.getUI(UIManager.java:1017)  
        at org.jdesktop.swingx.plaf.LookAndFeelAddons.getUI(LookAndFeelAddons.java:308)  
        at org.jdesktop.swingx.JXTaskPaneContainer.updateUI(JXTaskPaneContainer.java:141)  
        at javax.swing.JPanel.<init>(JPanel.java:69)  
        at javax.swing.JPanel.<init>(JPanel.java:78)  
        at org.jdesktop.swingx.JXPanel.<init>(JXPanel.java:133)  
        at org.jdesktop.swingx.JXTaskPaneContainer.<init>(JXTaskPaneContainer.java:113)  
        at operator.table_browser.initComponents(table_browser.java:48)  
        at operator.table_browser.<init>(table_browser.java:33)  
        at forms_helper.form_objects.<clinit>(form_objects.java:71)  
        at Main$1.run(Main.java:53)  
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)  
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)  
        at   java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)  
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)  
        at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)  
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)  
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)  
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)  
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError  
        at Main$1.run(Main.java:53)  
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)  
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)  
        at   java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)  
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)  
        at   java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)  
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)  
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)  
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)  
Caused by: java.lang.NullPointerException  
        at org.jdesktop.swingx.plaf.LookAndFeelAddons.getUI(LookAndFeelAddons.java:313)  
        at org.jdesktop.swingx.JXTaskPaneContainer.updateUI(JXTaskPaneContainer.java:141)  
        at javax.swing.JPanel.<init>(JPanel.java:69)  
        at javax.swing.JPanel.<init>(JPanel.java:78)  
        at org.jdesktop.swingx.JXPanel.<init>(JXPanel.java:133)  
        at org.jdesktop.swingx.JXTaskPaneContainer.<init>(JXTaskPaneContainer.java:113)  
        at operator.table_browser.initComponents(table_browser.java:48)  
        at operator.table_browser.<init>(table_browser.java:33)  
        at forms_helper.form_objects.<clinit>(form_objects.java:71)  
        ... 9 more
UIDefaults.getUI()失败:org.jdesktop.swingx.JXTaskPaneContainer[,0,0,0x0,无效,alignmentX=0.0,alignmentY=0.0,bord er=,flags=9,maximumSize=,minimumSize=,preferredSize=]
java.lang.Error
在javax.swing.UIDefaults.getUIError(UIDefaults.java:711)
位于javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:133)
位于javax.swing.UIDefaults.getUI(UIDefaults.java:741)
位于javax.swing.UIManager.getUI(UIManager.java:1017)
位于org.jdesktop.swingx.plaf.lookandfeeladons.getUI(lookandfeeladons.java:308)
位于org.jdesktop.swingx.JXTaskPaneContainer.updateUI(JXTaskPaneContainer.java:141)
位于javax.swing.JPanel。(JPanel.java:69)
位于javax.swing.JPanel(JPanel.java:78)
位于org.jdesktop.swingx.JXPanel(JXPanel.java:133)
位于org.jdesktop.swingx.JXTaskPaneContainer。(JXTaskPaneContainer.java:113)
at operator.table_browser.initComponents(table_browser.java:48)
at operator.table_browser.(table_browser.java:33)
在forms\u helper.form\u对象中。(form\u objects.java:71)
Main$1.run(Main.java:53)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)中
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
位于java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:184)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:174)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
在java.awt.EventDispatchThread.run处(EventDispatchThread.java:122)
线程“AWT-EventQueue-0”java.lang.ExceptionInInitializeError中出现异常
Main$1.run(Main.java:53)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)中
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
位于java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:184)
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:174)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
在java.awt.EventDispatchThread.run处(EventDispatchThread.java:122)
原因:java.lang.NullPointerException
位于org.jdesktop.swingx.plaf.lookandfeeladons.getUI(lookandfeeladons.java:313)
位于org.jdesktop.swingx.JXTaskPaneContainer.updateUI(JXTaskPaneContainer.java:141)
位于javax.swing.JPanel。(JPanel.java:69)
位于javax.swing.JPanel(JPanel.java:78)
位于org.jdesktop.swingx.JXPanel(JXPanel.java:133)
位于org.jdesktop.swingx.JXTaskPaneContainer。(JXTaskPaneContainer.java:113)
at operator.table_browser.initComponents(table_browser.java:48)
at operator.table_browser.(table_browser.java:33)
在forms\u helper.form\u对象中。(form\u objects.java:71)
... 9更多

帮我解决这个问题

1.第一个问题您是否在EDT上正确添加了物质L&F

f、 e

谢谢大家


我通过重置NetBeans缓存文件解决了这个问题:)NetBeans有时很奇怪。。。必须经历一些完全无关的问题:)

我没有这行添加SwingUtilities.updateComponentTreeUI(框架);但我已经添加了第一行以包含LAF:-)这可能只是开始,请确保对于此L&F,您需要在EDT上正确更新大量***如果您将使用或已经使用某些XxxRendered扩展DefaultXxxRenderer,那么您需要更改为扩展SubstanceXxxRenderer,渲染器内容可以保留,但是没有人知道,我也不是这个L&F的专家,只是尝试了一下,只是想消除一些EDT问题…,也是:-)您确实需要invokeLater()方法。但是,如果之后创建帧,是否确实需要第二行updateComponentTreeUI()?你是从我能读到的资料中得到的吗?谢谢
SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            try {
                UIManager.setLookAndFeel(new SubstanceOfficeSilver2007LookAndFeel());
                SwingUtilities.updateComponentTreeUI(frame);
            } catch (UnsupportedLookAndFeelException e) {
                throw new RuntimeException(e);
            }
        }
    });