#789 Resolves screen capture menu item takes up whole menubar. (#793)

Co-authored-by: Denny <denny@denny-desktop>
This commit is contained in:
Denny Sheirer
2020-05-04 18:48:24 +00:00
committed by GitHub
parent 5d580544e7
commit c87e6553dc

View File

@@ -371,41 +371,34 @@ public class SDRTrunk implements Listener<TunerEvent>
menuBar.add(viewMenu); menuBar.add(viewMenu);
JMenuItem screenCaptureItem = new JMenuItem("Screen Capture"); JMenuItem screenCaptureItem = new JMenuItem("Screen Capture");
screenCaptureItem.setMnemonic(KeyEvent.VK_C); screenCaptureItem.setMnemonic(KeyEvent.VK_C);
screenCaptureItem.setAccelerator( screenCaptureItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.ALT_MASK));
KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.ALT_MASK)); screenCaptureItem.setMaximumSize(screenCaptureItem.getPreferredSize());
screenCaptureItem.addActionListener(arg0 -> {
screenCaptureItem.addActionListener(new ActionListener() try
{
@Override
public void actionPerformed(ActionEvent arg0)
{ {
try Robot robot = new Robot();
{
Robot robot = new Robot();
final BufferedImage image = robot.createScreenCapture(mMainGui.getBounds()); final BufferedImage image = robot.createScreenCapture(mMainGui.getBounds());
String filename = TimeStamp.getTimeStamp("_") + "_screen_capture.png"; String filename = TimeStamp.getTimeStamp("_") + "_screen_capture.png";
final Path captureFile = mUserPreferences.getDirectoryPreference().getDirectoryScreenCapture().resolve(filename); final Path captureFile = mUserPreferences.getDirectoryPreference().getDirectoryScreenCapture().resolve(filename);
EventQueue.invokeLater(() -> { EventQueue.invokeLater(() -> {
try try
{ {
ImageIO.write(image, "png", captureFile.toFile()); ImageIO.write(image, "png", captureFile.toFile());
} }
catch(IOException e) catch(IOException e)
{ {
mLog.error("Couldn't write screen capture to file [" + captureFile.toString() + "]", e); mLog.error("Couldn't write screen capture to file [" + captureFile.toString() + "]", e);
} }
}); });
} }
catch(AWTException e) catch(AWTException e)
{ {
mLog.error("Exception while taking screen capture", e); mLog.error("Exception while taking screen capture", e);
}
} }
}); });