我有一个与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主题是否有类似的免费替代品?
答案 0 :(得分:1)
(a)检查你的Java,已知错误https://bugs.openjdk.java.net/browse/JDK-8043705
(b)检查你的图书馆:用jtattoo l' n创建一个新的hello world-like应用程序 - 只是一个JFrame + JLabel
(c)尝试找出hello world应用程序与实际应用程序之间的区别。