1

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 のバグのようです。既知の回避策はありますか? バグエントリページには何もリストされていません。

4

3 に答える 3

2

bugs.sun.com でいくつかのグーグルを実行した後、これは JDK 6 でのみ修正された JDK のバグである可能性があります。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148を参照してください。

于 2008-09-22T09:08:47.147 に答える
1

Java バージョンと db ビジュアライザーの dint サポート jre7 をアップグレードしたときに、同じ例外がスローされました。Java 7 のサポートが Windows および Linux/UNIX 用の DbVisualizer 8.0 で導入されて以来。

Mac OS X での Java 7 のサポートは、DbVisualizer 9.1 で導入されました。

だから私のために働いた解決策: Windows/Unix/Linux: DbVisualizer のインストール ディレクトリには .install4j ディレクトリがあります. このディレクトリに pref_jre.cfg という名前のファイルが存在しない場合は作成します. ファイルをテキスト エディタで開きます. 、使用する Java インストールのルート ディレクトリへの完全なパスを追加します。例: C:\Program Files\Java\jre7

于 2014-03-03T10:18:53.840 に答える
-1
java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Comparable....

dbviz に Java 7 をインストールした後に上記のエラーが発生する場合は、「変数名」として「DBVIS_JAVA_HOME」などの環境変数を追加し、ex のような Java パスを追加します。"C:\SWDTOOLS\IBM\RAD85\runtimes\base_v7\java"

于 2015-12-07T09:00:35.537 に答える