我原来是xp系统,编写了一个系统,能正常运行。而到windows7上不能正确运行。
可是eclipse 3.4 + JDK 1.6 ,的组合,能运行任何新写的简单程序,就是运行不了我的那个原有系统
经过调试,执行到这句话时,
JFileChooser chooser = new JFileChooser();
抛出异常,出错:
java.lang.ArrayIndexOutOfBoundsException: 3184
at sun.awt.shell.Win32ShellFolder2.getFileChooserIcon(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
at sun.awt.shell.ShellFolder.get(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$LazyWindowsIcon.createValue(Unknown Source)没道理啊。。
逻辑上都找不出问题的可能来源。
可是eclipse 3.4 + JDK 1.6 ,的组合,能运行任何新写的简单程序,就是运行不了我的那个原有系统
经过调试,执行到这句话时,
JFileChooser chooser = new JFileChooser();
抛出异常,出错:
java.lang.ArrayIndexOutOfBoundsException: 3184
at sun.awt.shell.Win32ShellFolder2.getFileChooserIcon(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
at sun.awt.shell.ShellFolder.get(Unknown Source)
at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$LazyWindowsIcon.createValue(Unknown Source)没道理啊。。
逻辑上都找不出问题的可能来源。
解决方案 »
- 在eclipse下,一个项目可以使用另个项目的源文件吗
- 如何正确的读取文件里数据?
- cannot resolve symbol 问题,初学,第一次编译,设置过PATH&CLASSPATH
- HELP!!!紧急求救!!关于java描点成线的问题~~~~~~~~~~~
- AjaxRequest的问题
- 怎样将String数组包存成.txt文件?
- 编码问题
- 还是这个线程题目,我愿为这个题目的解决送掉我所有的分直到解决为止
- FilenameFilter用声明吗??
- 占用一下,小弟想到深圳发展,有一年JAVA开发经验,熟悉oracle数据库,哪位在深圳的兄弟帮忙介绍个工作,我的QQ:9182647,谢谢了!
- 关于JAVA多线程的问题-线程状态及值的引用
- 求一个多线程结构
因为jdk的实现也是充分考虑了操作系统来实现的,windows7和以前版本的差异比较大,造成这个结果也是很正常的。
在此之前你得检查代码是否还有不完善的地方。
假如是兼容有问题为什么在这句JFileChooser这么普通的一个类上出问题呢?
期待高手做答
只看logo大家只能猜测
if (fileChooserIcons[i] != null) {
return fileChooserIcons[i];
} else {
if (fileChooserBitmapBits == null) {
fileChooserBitmapBits = getFileChooserBitmapBits();
}
if (fileChooserBitmapBits != null) {
int nImages = fileChooserBitmapBits.length / (16*16);
int[] bitmapBits = new int[16 * 16];
for (int y = 0; y < 16; y++) {
for (int x = 0; x < 16; x++) {
bitmapBits[y * 16 + x] = fileChooserBitmapBits[y * (nImages * 16) + (i * 16) + x];
}
}
BufferedImage img = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
img.setRGB(0, 0, 16, 16, bitmapBits, 0, 16);
fileChooserIcons[i] = img;
}
}
return fileChooserIcons[i];
}i是3184,看来真是bug了。
估计楼主window7下装的是xp版本的虚拟机
这个BUG是JDK自己的吗?
我的理解,windows7是32位的本质上与XP是一样的。怎么会运行不起来呢。
有些人整个代码,我想不必了,因为就出在这个点上。
我用Win7做开发 一切OK 还是64位的呢 是代码或者配置的缘故
只是我的系统为什么到那句话就出问题了。
Windows 2008 需要 1.5.0_19 及以后版本
Windows Vista 需要 1.5.0_14 及以后版本JDK 1.6 系统支持最小的版本号Windows 7 需要 1.6.0_14 及以后版本
Windows Server 2008 R2 需要 1.6.0_16 及以后版本
http://www.baidu.com/s?wd=ArrayIndexOutOfBoundsException%3A%203184&tn=sogouie_dg
问题已经解决了。
我原来的版本是JDK 1.6.0 beta 2.
最新从官方网站下载下来:JDK 1.6.0.20在我没有修改任何代码的情况下,可以顺利运行。感谢CSDN,感谢大家