# HG changeset patch # User Andrew Azores # Date 1444399366 14400 # Node ID ad647f3e243e54e2de42101e39c368f180df6c8a # Parent b1ec95a6f5b60f59cdc2c12b4e04d44fc40889da Add "Escape" key as shortcut to close OverlayPanel Reviewed-by: jerboaa, neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2015-October/016611.html PR2659 diff -r b1ec95a6f5b6 -r ad647f3e243e client/swing/src/main/java/com/redhat/thermostat/client/swing/components/OverlayPanel.java --- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/OverlayPanel.java Fri Oct 09 09:51:52 2015 -0400 +++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/OverlayPanel.java Fri Oct 09 10:02:46 2015 -0400 @@ -43,6 +43,7 @@ import java.awt.Insets; import java.awt.Rectangle; import java.awt.RenderingHints; +import java.awt.event.ActionEvent; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; @@ -51,7 +52,10 @@ import java.awt.geom.GeneralPath; import java.awt.image.BufferedImage; +import javax.swing.AbstractAction; +import javax.swing.JComponent; import javax.swing.JPanel; +import javax.swing.KeyStroke; import com.redhat.thermostat.client.swing.GraphicsUtils; import com.redhat.thermostat.client.ui.Palette; @@ -133,6 +137,17 @@ addMouseMotionListener(new MouseMotionAdapter() {}); addKeyListener(new KeyAdapter() {}); setFocusTraversalKeysEnabled(false); + + final int NO_MODIFIERS = 0; + KeyStroke escape = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, NO_MODIFIERS); + javax.swing.Action closeOverlay = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + setOverlayVisible(false); + } + }; + getActionMap().put("close", closeOverlay); + getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "close"); } @Override diff -r b1ec95a6f5b6 -r ad647f3e243e vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java --- a/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java Fri Oct 09 09:51:52 2015 -0400 +++ b/vm-heap-analysis/client-swing/src/main/java/com/redhat/thermostat/vm/heap/analysis/client/swing/internal/HeapSwingView.java Fri Oct 09 10:02:46 2015 -0400 @@ -176,16 +176,6 @@ } } }); - KeyStroke escape = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); - @SuppressWarnings("serial") - javax.swing.Action closeOverlay = new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - closeDumpListView(); - } - }; - overlay.getActionMap().put("close", closeOverlay); - overlay.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escape, "close"); overview.addToolBarButton(showHeapListButton);