Ottenere java.lang.ClassCastException: javax.swing.KeyStroke durante la creazione di un JSplitPane
-
02-07-2019 - |
Domanda
Ricevo un errore casuale non riproducibile durante l'inizializzazione di un JSplitPane con JDK 1.5.0_08. Nota che ciò non si verifica ogni volta, ma circa l'80% delle volte:
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)
...
Pensieri? Ho provato a ripulire e ricostruire il mio progetto in modo da ridurre al minimo la probabilità di file di classe danneggiati.
Modifica n. 1 Vedi http: // bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434148 - sembra essere un bug JDK. Qualche soluzione alternativa conosciuta? Nessuno è elencato nella pagina di immissione dei bug.
Soluzione
Dopo aver fatto un po 'di Google su bugs.sun.com, sembra che questo potrebbe essere un bug JDK che è stato corretto solo in JDK 6.
Vedi http://bugs.sun.com/bugdatabase/view_bug. fare? bug_id = 6434148
Altri suggerimenti
La stessa eccezione era stata generata quando avevo aggiornato java verion e db visualizer dint support jre7. e da allora Il supporto per Java 7 è stato introdotto in DbVisualizer 8.0 per Windows e Linux / UNIX.
Il supporto per Java 7 su Mac OS X è stato introdotto in DbVisualizer 9.1.
Quindi la soluzione che ha funzionato per me: di Windows / Unix / Linux: Nella directory di installazione di DbVisualizer c'è una directory .install4j, In questa directory crea un file chiamato pref_jre.cfg se non esiste già, Apri il file in un editor di testo, Aggiungere il percorso completo alla directory principale per l'installazione Java che si desidera utilizzare. Esempio: C: \ Programmi \ Java \ jre7
java.lang.ClassCastException: javax.swing.KeyStroke cannot be cast to java.lang.Comparable....
Se si verifica l'errore sopra dopo l'installazione di java 7 in dbviz quindi aggiungere variabili di ambiente come: 'DBVIS_JAVA_HOME' come 'Nome variabile' e percorso java simile per es. & Quot; C: \ SWDTOOLS \ IBM \ RAD85 \ runtime \ base_v7 \ java "