Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改为SeaGlass外观后,javax.swing.JScrollPane无法转换为javax.swing.AbstractButton_Java_Swing_Seaglass - Fatal编程技术网

更改为SeaGlass外观后,javax.swing.JScrollPane无法转换为javax.swing.AbstractButton

更改为SeaGlass外观后,javax.swing.JScrollPane无法转换为javax.swing.AbstractButton,java,swing,seaglass,Java,Swing,Seaglass,如果没有特殊的外观,我的Java Swing应用程序看起来是这样的: 但在我安装了Sea Glass Look and Feel之后,程序正在运行,但在不同的时间显示不同的错误 我得到一个例外: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JScrollPane cannot be cast to javax.swing.AbstractButton at javax.swin

如果没有特殊的外观,我的Java Swing应用程序看起来是这样的:

但在我安装了Sea Glass Look and Feel之后,程序正在运行,但在不同的时间显示不同的错误

我得到一个例外:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JScrollPane cannot be cast to javax.swing.AbstractButton
at javax.swing.plaf.synth.SynthButtonUI.paint(SynthButtonUI.java:284)
at javax.swing.plaf.synth.SynthButtonUI.update(SynthButtonUI.java:255)
at javax.swing.JComponent.paintComponent(JComponent.java:777)
at javax.swing.JComponent.paint(JComponent.java:1053)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paint(JComponent.java:1062)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:886)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5230)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent.paint(JComponent.java:1039)
at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)
at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)
at java.awt.Container.paint(Container.java:1973)
at java.awt.Window.paint(Window.java:3901)
at javax.swing.RepaintManager$4.run(RepaintManager.java:835)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

只有在我使用海镜外观时才会出现这种情况。

请考虑提供一个演示您的问题的示例。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱,提高效率responses@BuxHzk您是否使用第三方GUI库?这是一个经常出现的问题,因为第三方GUI库仅在使用标准L&FIt时才能正常工作,因此JScrollPane不能转换为JButton似乎是公平的。了解哪个按钮/哪个滚动窗格导致问题是很有用的。尝试对GUI的某些部分进行注释,直到再次生效。另外:确保所有Swing组件都是在事件线程上创建的,而不是在主线程上创建的(这可能会导致许多与L&F相关的奇怪错误)。
JScrollPane
不能转换为
AbstractButton
,而不管LAF如何。如果没有显示发生这种情况的实际代码,堆栈跟踪几乎是无用的。在这种情况下,调试器是您最好的朋友。