在使用 JDK 1.5.0_08 初始化 JSplitPane 时,我遇到随机的不可重现的错误。请注意,这并不是每次都会发生,但大约 80% 的时间都会发生:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.KeyStroke
at java.util.TreeMap.compare(TreeMap.java:1093)
at java.util.TreeMap.put(TreeMap.java:465)
at java.util.TreeSet.add(TreeSet.java:210)
at javax.swing.plaf.basic.BasicSplitPaneUI.installDefaults(BasicSplitPaneUI.java:364)
at javax.swing.plaf.basic.BasicSplitPaneUI.installUI(BasicSplitPaneUI.java:300)
at javax.swing.JComponent.setUI(JComponent.java:652)
at javax.swing.JSplitPane.setUI(JSplitPane.java:350)
at javax.swing.JSplitPane.updateUI(JSplitPane.java:378)
at javax.swing.JSplitPane.<init>(JSplitPane.java:332)
at javax.swing.JSplitPane.<init>(JSplitPane.java:287)
...
想法?我尝试清理和重建我的项目,以尽量减少类文件损坏的可能性。
编辑 #1 请参阅 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148 - 似乎是一个 JDK 错误。有什么已知的解决方法吗?错误输入页面上没有列出任何内容。
最佳答案
在 bugs.sun.com 上进行一些谷歌搜索后,这看起来可能是一个 JDK 错误,仅在 JDK 6 中修复。
参见http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148
关于java - 创建 JSplitPane 时获取 java.lang.ClassCastException : javax. swing.KeyStroke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/113915/