Получение java.lang.ClassCastException: javax.swing.KeyStroke при создании JSplitPane

Я получаю случайную невоспроизводимую ошибку при инициализации JSplitPane с JDK 1.5.0_08. Обратите внимание, что это происходит не каждый раз, а примерно в 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. Любые известные обходные пути? Ни один из них не указан на странице записи об ошибках.


person Epaga    schedule 22.09.2008    source источник


Ответы (3)


Погуглив на bugs.sun.com, похоже, что это может быть ошибка JDK, которая была исправлена ​​только в JDK 6.

См. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148

person Epaga    schedule 22.09.2008

Такое же исключение возникло, когда я обновил версию java и визуализатор базы данных, не поддерживающий jre7. и поскольку поддержка Java 7 была введена в DbVisualizer 8.0 для Windows и Linux/UNIX.

Поддержка Java 7 в Mac OS X появилась в DbVisualizer 9.1.

Итак, решение, которое сработало для меня: Windows/Unix/Linux: в каталоге установки DbVisualizer есть каталог .install4j. В этом каталоге создайте файл с именем pref_jre.cfg, если он еще не существует, Откройте файл в текстовом редакторе. Добавьте полный путь к корневому каталогу установки Java, которую вы хотите использовать. Пример: C:\Program Files\Java\jre7

person user1909533    schedule 03.03.2014

java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Comparable....

Если вы получаете вышеуказанную ошибку после установки java 7 в dbviz, добавьте переменные среды, такие как: «DBVIS_JAVA_HOME» в качестве «Имени переменной» и путь java, например, например. "C:\SWDTOOLS\IBM\RAD85\runtimes\base_v7\java"

person Shree    schedule 07.12.2015