![](/img/trans.png)
[英]replace handleEvent(Event e) by processEvent(AWTEvent e)
[英]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.