From b49c886ae493fce8be1e3691c8e68a92b614e58f Mon Sep 17 00:00:00 2001 From: Doublestrike Date: Tue, 6 Mar 2012 08:17:25 +0000 Subject: [PATCH] All events below overlay layer are now blocked. --- src/main/java/forge/gui/toolbox/FOverlay.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/forge/gui/toolbox/FOverlay.java b/src/main/java/forge/gui/toolbox/FOverlay.java index 1f5d384e3b5..d23fb0a91d8 100644 --- a/src/main/java/forge/gui/toolbox/FOverlay.java +++ b/src/main/java/forge/gui/toolbox/FOverlay.java @@ -19,8 +19,12 @@ package forge.gui.toolbox; import java.awt.Color; import java.awt.Graphics; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.event.KeyAdapter; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; import javax.swing.BorderFactory; import javax.swing.JButton; @@ -44,6 +48,7 @@ public class FOverlay extends JPanel { super(); this.setOpaque(false); this.setVisible(false); + this.setFocusTraversalKeysEnabled(false); this.btnClose = new JButton("X"); this.btnClose.setForeground(Color.white); this.btnClose.setBorder(BorderFactory.createLineBorder(Color.white)); @@ -57,6 +62,17 @@ public class FOverlay extends JPanel { FOverlay.this.hideOverlay(); } }); + + // Block all input events below the overlay + this.addMouseListener(new MouseAdapter() { }); + this.addMouseMotionListener(new MouseMotionAdapter() { }); + this.addKeyListener(new KeyAdapter() { }); + this.addComponentListener(new ComponentAdapter() { + @Override + public void componentShown(final ComponentEvent evt) { + requestFocusInWindow(); + } + }); } /**