求大神帮看看是什么问题,快疯了,时有时无的,一天了,没找到原因!!!

heochuan 2017-10-10 04:15:20
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException
at javax.swing.LayoutComparator.compare(LayoutComparator.java:72)
at java.util.Arrays.mergeSort(Arrays.java:1270)
at java.util.Arrays.mergeSort(Arrays.java:1281)
at java.util.Arrays.mergeSort(Arrays.java:1282)
at java.util.Arrays.mergeSort(Arrays.java:1282)
at java.util.Arrays.sort(Arrays.java:1210)
at java.util.Collections.sort(Collections.java:157)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:119)
at javax.swing.SortingFocusTraversalPolicy.getFirstComponent(SortingFocusTraversalPolicy.java:434)
at javax.swing.LayoutFocusTraversalPolicy.getFirstComponent(LayoutFocusTraversalPolicy.java:148)
at javax.swing.SortingFocusTraversalPolicy.getDefaultComponent(SortingFocusTraversalPolicy.java:511)
at java.awt.FocusTraversalPolicy.getInitialComponent(FocusTraversalPolicy.java:152)
at java.awt.Window.getMostRecentFocusOwner(Window.java:2137)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:639)
at java.awt.Component.dispatchEventImpl(Component.java:4532)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:647)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
at java.awt.SequencedEvent.dispatch(SequencedEvent.java:101)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:633)
at java.awt.EventQueue$2.run(EventQueue.java:631)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:647)
at java.awt.EventQueue$3.run(EventQueue.java:645)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:644)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
...全文
495 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heochuan 2017-10-18
  • 打赏
  • 举报
回复
引用 4 楼 zssazrael 的回复:
从错误信息来看,是在焦点排序时出现类型转换异常, 从整个错误消息分析,应该是在某次键盘或鼠标点击时出现的改问题, 而从错误信息中,无法得知时哪一步出现错误。 从源码分析得知,是在获取不到组件的等级窗口时出现的异常,这可能是出现在移除组件时出现的。 而从不必现的角度猜测,可能是使用了多线程操作组件时导致。
你分析的很正确,我应该就是多线程出现的错误,键盘和鼠标事件都有,应该是获取光标的时候不知道怎么出错了, 时有时无的,就是有时候会报错,但不耽误程序的正常使用。
幽饮烛 2017-10-13
  • 打赏
  • 举报
回复
从错误信息来看,是在焦点排序时出现类型转换异常, 从整个错误消息分析,应该是在某次键盘或鼠标点击时出现的改问题, 而从错误信息中,无法得知时哪一步出现错误。 从源码分析得知,是在获取不到组件的等级窗口时出现的异常,这可能是出现在移除组件时出现的。 而从不必现的角度猜测,可能是使用了多线程操作组件时导致。
自由自在_Yu 2017-10-13
  • 打赏
  • 举报
回复
类型转换错误.. 比如你有个A类和B类..两个类没有任何关系.. 然后你A a = new A(); B b = (B)a; 这样就运行期就会报这个异常了.. 但是假如你的B类继承自A类就不会了.. 如果你想避免这个错误的话.. 可以在转型前检查一下..a对象是否是B类型..用instanceof关键字.. 比如if(a instanceof B) {B b = (B)a;} 这样就行了..
jaramyZXG 2017-10-12
  • 打赏
  • 举报
回复
你仔细看看报错,应该会有一行报错跟你的代码关联。字面上理解就是类型转换错误,看下有没有强制转换错误的。编译时候过了,运行时报错了
雨中客888 2017-10-10
  • 打赏
  • 举报
回复
是不是你哪个程序的调用或运行的返回结果与接收的类型不统一,按你这异常时类型转换异常,用swing做的什么东西?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧