1

加载iReport 4.5.1新安装时收到以下错误消息:

java.lang.ArrayIndexOutOfBoundsException: 3184
at sun.awt.shell.Win32ShellFolder2.getFileChooserIcon(Win32ShellFolder2.java:748)
at sun.awt.shell.Win32ShellFolderManager2.get(Win32ShellFolderManager2.java:248)
at sun.awt.shell.ShellFolder.get(ShellFolder.java:221)
at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$LazyWindowsIcon.createValue(WindowsLookAndFeel.java:1873)
at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:185)
at javax.swing.UIDefaults.get(UIDefaults.java:130)
at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:44)
at javax.swing.UIDefaults.getIcon(UIDefaults.java:411)
at javax.swing.UIManager.getIcon(UIManager.java:613)
at javax.swing.plaf.basic.BasicFileChooserUI.installIcons(BasicFileChooserUI.java:237)
at javax.swing.plaf.basic.BasicFileChooserUI.installDefaults(BasicFileChooserUI.java:219)
at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:135)
at com.sun.java.swing.plaf.windows.WindowsFileChooserUI.installUI(WindowsFileChooserUI.java:126)
at javax.swing.JComponent.setUI(JComponent.java:653)
at javax.swing.JFileChooser.updateUI(JFileChooser.java:1755)
at javax.swing.JFileChooser.setup(JFileChooser.java:366)
at javax.swing.JFileChooser.<init>(JFileChooser.java:341)
at javax.swing.JFileChooser.<init>(JFileChooser.java:300)
at com.jaspersoft.ireport.designer.options.IReportPanel.jButtonAddClasspathItemActionPerformed(IReportPanel.java:2216)
at com.jaspersoft.ireport.designer.options.IReportPanel.access$2000(IReportPanel.java:84)
at com.jaspersoft.ireport.designer.options.IReportPanel$27.actionPerformed(IReportPanel.java:938)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:5501)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5266)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
4

2 回答 2

2

这是在VistaWindows 7上运行的iReport的已知问题。

您可以尝试将您的 JVM 升级到 1.7(在某些情况下是 1.6)版本。

有关更多详细信息,您可以阅读JasperForge.org上的这篇文章:

更新:

ireport.conf您可以通过文件夹中的文件为 iReport 设置 JDK iReport-x.y.z\etc。借助jdkhome属性,我们可以设置 JDK 路径。

样本:

jdkhome="/path/to/jdk"
于 2012-04-25T06:27:45.560 回答
1

我刚刚发现这个问题可能是由 JDK 版本以外的其他原因引起的。我在 Windows 7 上运行 iReport 4.5.1 并尝试 JDK 1.6 和 1.7 得到相同的错误。比我发现问题与 SQL 语句检索的某些字段有关(mssql 2008 R2 中的存储过程)。问题是将 ntext 字段转换为 java.lang.String。我将字段类更改为 java.sql.Clouds 并发现生成了报告(但此列不可读)。当我弄乱不同的类型时,我发现问题出在列宽上。当我的程序检索许多参数时,我在向导生成的设计中有许多“细”列。当我在布局上调整(放大)ntext 结果列并单击“预览”时,一切都很好,当列变薄以填充数据时(一个字母宽度,因为换行是正确的)我'

于 2012-05-02T09:50:59.063 回答