Мы работаем здесь, в офисе, с кажущейся неразрешимой ошибкой в одном из наших (массивных) апплетов, который является Java-симуляцией MS Word, для экзаменационных целей. Исключение, похоже, связано с самим качели, и я не уверен, как бы я решил его решить. Вот что происходит:Апплет: визуально ошибки только в браузере и исключение из Swing
Апплет загружает экран загрузки до 100%. После этого все компоненты отображаются некорректно, как если бы некоторые из их методов рисования не вызывались правильно, наведение курсора на некоторые кнопки и т. Д. Заставляет их мигать/отображать какое-то время. И исключение печатается на консоль каждую секунду или около того. (См. Ниже) Эта ошибка НЕ происходит внутри Eclipse, только в браузере.
Резюме: апплет все компонент получить построены без исключения, но на каждый «краску» зов какой-либо компоненты (я предполагаю), визуально ошибки из и печатаются каждый вторым следующее:
Exception in thread "AWT-EventQueue-11" java.lang.ClassCastException: javax.swing.JLabel cannot be cast to javax.swing.text.JTextComponent
at javax.swing.text.html.EditableView.paint(Unknown Source)
at javax.swing.text.BoxView.paintChild(Unknown Source)
at javax.swing.text.BoxView.paint(Unknown Source)
at javax.swing.text.BoxView.paintChild(Unknown Source)
at javax.swing.text.BoxView.paint(Unknown Source)
at javax.swing.text.ParagraphView.paint(Unknown Source)
at javax.swing.text.html.ParagraphView.paint(Unknown Source)
at javax.swing.text.BoxView.paintChild(Unknown Source)
at javax.swing.text.BoxView.paint(Unknown Source)
at javax.swing.text.html.BlockView.paint(Unknown Source)
at javax.swing.text.BoxView.paintChild(Unknown Source)
at javax.swing.text.BoxView.paint(Unknown Source)
at javax.swing.text.html.BlockView.paint(Unknown Source)
at javax.swing.plaf.basic.BasicHTML$Renderer.paint(Unknown Source)
at javax.swing.plaf.basic.BasicLabelUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at javax.swing.RepaintManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1000(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Помощь будет принята с благодарностью, так как это заводит меня в орехи, я не могу найти, что вызывает это, так как код от предыдущего разработчика и полный беспорядок. Я пробовал разные версии JDK.
Thanx.
Глядя на [код] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/javax/ swing/text/html/EditableView.java # EditableView.paint% 28java.awt.Graphics% 2Cjava.awt.Shape% 29) для метода, который бросил, кажется, что у вас как-то есть 'JLabel', действующий как контейнер для текстовый компонент. Я бы начал с поиска вызовов 'add()' на любом из ваших ярлыков. – parsifal
Хорошая идея, ища это сейчас. –
Удалите все из модуля, оставьте голый апплет для костей, затем начните добавлять по частям, пока не найдете место в коде, которое порождает ошибку. –