Java UI Manager外观(JTattoo)导致NULLpointer

时间:2015-10-05 21:28:33

标签: java macos swing maven look-and-feel

我有一个与maven一起运行的java项目。我将JTattoo添加到maven依赖项中,并将GUI管理器设置为主类中的HiFi团队:

try {
                UIManager.setLookAndFeel("com.jtattoo.plaf.hifi.HiFiLookAndFeel");
            } catch (InstantiationException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            } catch (UnsupportedLookAndFeelException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            }

当我运行我的应用程序时,Netbeans没有显示任何错误,一切似乎都正常。但是当我运行我的应用程序时,我的大多数JLabel都没有显示,我得到一个NullPointer异常和下面的stacktrace(我的程序继续运行):

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2043)
    at java.awt.Component.getLocationOnScreen(Component.java:2028)
    at com.jtattoo.plaf.JTattooUtilities.getRelLocation(JTattooUtilities.java:192)
    at com.jtattoo.plaf.hifi.HiFiUtils.fillComponent(HiFiUtils.java:42)
    at com.jtattoo.plaf.hifi.HiFiRadioButtonUI.paintBackground(HiFiRadioButtonUI.java:84)
    at com.jtattoo.plaf.BaseRadioButtonUI.paint(BaseRadioButtonUI.java:97)
    at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at javax.swing.JComponent.paintComponent(JComponent.java:780)

任何人都有一个想法,是什么导致这个问题?如果这个问题无法修复,那么JTattoo HiFi / noir主题是否有类似的免费替代品?

1 个答案:

答案 0 :(得分:1)

(a)检查你的Java,已知错误https://bugs.openjdk.java.net/browse/JDK-8043705

(b)检查你的图书馆:用jtattoo l' n创建一个新的hello world-like应用程序 - 只是一个JFrame + JLabel

(c)尝试找出hello world应用程序与实际应用程序之间的区别。