java.lang.ClassCastExceptionの取得:JSplitPane 作成時の javax.swing.KeyStroke

StackOverflow https://stackoverflow.com/questions/113915

  •  02-07-2019
  •  | 
  •  

質問

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 6 でのみ修正された JDK のバグである可能性があることがわかりました。

見る http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148

他のヒント

Java バージョンと db Visualizer が jre7 をサポートしていない場合にアップグレードしたときに、同じ例外がスローされました。また、Java 7のサポートは、WindowsおよびLinux/Unix用のDBVisualizer 8.0に導入されています。

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

だから私にとってうまくいった解決策:Windows/Unix/Linux:dbvisualizerインストールディレクトリには.install4jディレクトリがあります。このディレクトリには、fef_jre.cfgという名前のファイルがまだ存在しない場合は、テキストエディターでファイルを開き、Javaインストールのルートディレクトリへの完全なパスを追加します使用したい。例:C:\プログラム ファイル\Java\jre7

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

dbvizにJava 7をインストールした後に上記のエラーが発生している場合は、次のような環境バリエーブルを追加します。'dbvis_java_home'は「変数名」として、そしてexのようなJavaパスとして。「C:\SWDTOOLS\IBM AD85 untimes\base_v7\java」

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top