我有一个applet在加载时在此行(但仅有时)生成nullpointer异常:
(txtpnNoSeHa是扩展JPanel的类中的JEditorPane。此面板在applet构造函数中实例化)
txtpnNoSeHa.setBackground(UIManager.getColor("Panel.background"));
在构造函数内部调用。
我从中了解到,UIManager.getColor有时会返回null,这可能是因为尚未加载某些数据(未显示任何摆动面板或类似内容)
该小程序是使用eclipse的窗口构建器设计的。我怎样才能解决这个问题?任何人都可以对此有所了解吗?
最佳答案
如您所预料的,第一个摆动组件一旦可见,就会加载UIManager
。这可能会导致null
值。您可以在UIManager
例程的开头(对于小程序为main
)通过此调用手动加载init
:
try {
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
} catch(InvocationTargetException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
关于java - UIManager.getColor有时返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15798875/