当我在Linux平台上运行我的应用程序时,它会抛出异常,并且无法在框架/面板中看到任何组件,相反,它会显示灰色的屏幕,并且在单击/移动鼠标时将显示该组件指向组件之上。此外,我有动态测试更新按钮,这也得到更新每个鼠标移动按钮上方。重绘Linux平台中的问题
注意:这个相同的应用程序在windows平台下工作正常。
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | at javax.swing.plaf.basic.BasicButtonUI.getMinimumSize(BasicButtonUI.java:352)
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | at javax.swing.JComponent.getMinimumSize(JComponent.java:1714)
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | at java.awt.BorderLayout.minimumLayoutSize(BorderLayout.java:651)
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | at java.awt.Container.minimumSize(Container.java:1651)
INFO | jvm 1 | main | 2013/01/21 15:14:23.995 | at java.awt.Container.getMinimumSize(Container.java:1636)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at javax.swing.JComponent.getMinimumSize(JComponent.java:1716)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.FlowLayout.minimumLayoutSize(FlowLayout.java:448)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.minimumSize(Container.java:1651)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.getMinimumSize(Container.java:1636)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at javax.swing.JComponent.getMinimumSize(JComponent.java:1716)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1094)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:893)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:2052)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.GridBagLayout.arrangeGrid(GridBagLayout.java:2008)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:789)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.layout(Container.java:1421)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.doLayout(Container.java:1410)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validateTree(Container.java:1507)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validateTree(Container.java:1513)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validateTree(Container.java:1513)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validateTree(Container.java:1513)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validateTree(Container.java:1513)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.Container.validate(Container.java:1480)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventQueue.access$000(EventQueue.java:85)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventQueue$1.run(EventQueue.java:603)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventQueue$1.run(EventQueue.java:601)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.security.AccessController.doPrivileged(Native Method)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
INFO | jvm 1 | main | 2013/01/21 15:14:23.996 | at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
我们不是向导,向我们展示您的代码。 – atomman
这似乎很模糊......也许尝试从GUI中删除东西的“标准”调试策略,直到它工作。然后你知道是什么导致了这个问题。然后,如果谷歌搜索没有直接给你答案,你可以编写一个最小化的应用程序来重现错误,并在SO再次提问:“为什么这个代码在Windows上工作,但在Linux上失败”。 – hyde
你的课程在哪里,这些只是看起来像错误的一部分,它只是swing和awt。 – Adude11