簡體   English   中英

線程“ AWT-EventQueue-0”中的異常java.lang.IllegalArgumentException:矩形的寬度和高度必須大於0

[英]Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: Rectangle width and height must be > 0

在我使用Substance LookAndFeel編程的應用程序中,這里有一個特殊的情況。 在我的應用程序中,如下面的屏幕快照所示,我在MenuBar中有三個JMenu。

在此處輸入圖片說明

始終可以單擊一個(獲取屏幕快照),並獲取整個應用程序窗口的屏幕快照。 它下面沒有MenuItems,並且可以用作獨立的人造“按鈕”。

單擊后,它可以正常工作。 但是在控制台中,我得到了一個巨大的錯誤塊,該錯誤塊與我假設的是我正在使用的當前L&F有關(請參閱“系統默認L&F”未發生這種情況)。

我想回答的另一個問題是如何修復菜單陰影的不透明部分,如提供的屏幕截圖所示。 所有這些都不會以任何方式影響應用程序的執行,我希望它們都解決以確保執行最佳。

如果需要發布我的任何代碼來幫助解決問題,請推薦您認為問題出處的位置(例如,Robot,L&F,MenuBar或其他)。 我將張貼任何需要的信息。

編輯:我做了更多的探索,似乎只有在選擇任何菜單時才會發生,然后我將鼠標懸停在“屏幕截圖”菜單上。 我的猜測僅僅是因為它沒有要顯示的MenuItems,但是我可能錯了。 不過,我仍然不知道如何解決該問題。

這是錯誤日志:

    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Recta
ngle width and height must be > 0
        at java.awt.Robot.checkValidRect(Unknown Source)
        at java.awt.Robot.createScreenCapture(Unknown Source)
        at org.pushingpixels.substance.internal.contrib.jgoodies.looks.common.Sh
adowPopup.snapshot(ShadowPopup.java:286)
        at org.pushingpixels.substance.internal.contrib.jgoodies.looks.common.Sh
adowPopup.show(ShadowPopup.java:198)
        at javax.swing.JPopupMenu.getPopup(Unknown Source)
        at javax.swing.JPopupMenu.setVisible(Unknown Source)
        at javax.swing.JPopupMenu.show(Unknown Source)
        at javax.swing.JMenu.setPopupMenuVisible(Unknown Source)
        at javax.swing.JPopupMenu.menuSelectionChanged(Unknown Source)
        at javax.swing.MenuSelectionManager.setSelectedPath(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuUI.appendPath(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuUI.access$200(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(Unknown Sourc
e)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$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)

這是Substance中的錯誤,該錯誤基於JGoodies中的舊代碼。 Kirill拍攝了ShadowPopup的舊快照,該快照沒有代碼來檢查寬度或高度為零。 當前版本的ShadowPopup尋找該錯誤並正確處理。

物質本身不再由Kirill維護,但我確實有一個維護叉。 能把它作為問題發布嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM