当我尝试运行以下代码时会弹出以下错误,我不知道为什么,它在10分钟前完成了字面意义
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventPostProcessor(newKeyEventPostProcessor() {
public boolean postProcessKeyEvent(KeyEvent e) {
if (e.getID() == KeyEvent.KEY_PRESSED) {
if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_P){
printSinglePage();
e.consume();
}
if(e.isControlDown() && e.isAltDown() && e.getKeyCode() == KeyEvent.VK_P){
printAll();
e.consume();
}
}
return true;
}
});
public void printSinglePage(){
if(tab.getSelectedComponent() instanceof DuctReport)
PrintUtilities.printComponent(tab.getSelectedComponent(), DuctReport.PRINT_SIZE);
else if(tab.getSelectedComponent() instanceof Vandy)
PrintUtilities.printComponent(tab.getSelectedComponent(), Vandy.PRINT_SIZE);
else
PrintUtilities.printComponent(tab.getSelectedComponent(), .8);
}
public void printAll(){
for(int i = 0; i < tab.getTabCount(); i ++){
if(tab.getComponent(i) instanceof DuctReport)
PrintUtilities.printComponent(tab.getComponent(i), DuctReport.PRINT_SIZE);
else if(tab.getComponent(i) instanceof Vandy)
PrintUtilities.printComponent(tab.getComponent(i), Vandy.PRINT_SIZE);
else
PrintUtilities.printComponent(tab.getComponent(i), .8);
}
}
这是错误:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: PrintUtilities at Main.printSinglePage(Main.java:282) at Main.menPrintAllActionPerformed(Main.java:221) at Main.access$600(Main.java:24) at Main$8.actionPerformed(Main.java:148)
答案 0 :(得分:3)
通常,NoClassDefFoundError
是类加载器或类路径问题的结果。检查jar是否未重命名或移动,运行脚本是否正确,类似的东西。代码可能很好,这是环境。
如果您仍然无法解决此问题,请考虑发布有关框架,IDE以及应用启动方式的更多详细信息。
答案 1 :(得分:1)
在NetBeans中工作时,我看到过类似的奇怪错误。我经常做一个“清理和构建”来修复它。有时需要关闭NetBeans并清除NB缓存。
答案 2 :(得分:0)
这是一个环境问题,通常清理和重建项目可以解决问题。
答案 3 :(得分:0)
我有几次这个错误。导致它的主要原因是初始化期间的nullpointerexception。第二件事是在初始化时使用静态变量,显然你不能直接使用任何静态数组(并尝试使用导致这种方法的方法)。
要点:检查你的构造函数并确保那里没有任何异常,这就是导致它的原因。