簡體   English   中英

從AWTEvent確定是否為Mouse_Exited事件

[英]Determine from AWTEvent if it is a Mouse_Exited event

在我們正在編寫的軟件中,有時會使用GlassPane來防止用戶在程序繁忙時與該程序進行交互,這具有意想不到的副作用,即某些按鈕的翻轉已設置但未被刪除。

翻轉設置,玻璃窗格已激活,玻璃窗格使用mouse_exit事件。

GlassPane注冊為:

Toolkit.getDefaultToolkit().addAWTEventListener(this, 
                AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK
                | AWTEvent.MOUSE_MOTION_EVENT_MASK 
                | AWTEvent.MOUSE_WHEEL_EVENT_MASK );

因為我們發現我們還需要捕捉鼠標運動和鼠標滾輪事件。

public void eventDispatched(AWTEvent event) {
            if (event instanceof KeyEvent) {
                ((KeyEvent)event).consume();
            } else if (event instanceof MouseEvent) {
                ((MouseEvent) event).consume();
            }
}

無論如何,如果該事件來自Mouse_Exit事件,那么是否可以在代碼的上述位置找到答案?

也許您可以使用“ 禁用玻璃窗格”方法。 它將偵聽器添加到GlassPane以攔截事件。

該代碼當前不使用MouseWheelListener,因此您可能需要添加它。

暫無
暫無

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

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