You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/04/28 03:03:16 UTC
svn commit: r1889246 -
/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Author: tilman
Date: Wed Apr 28 03:03:15 2021
New Revision: 1889246
URL: http://svn.apache.org/viewvc?rev=1889246&view=rev
Log:
PDFBOX-2602: delay awt call which fails on headless systems when PDFBox.main is called
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java?rev=1889246&r1=1889245&r2=1889246&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java Wed Apr 28 03:03:15 2021
@@ -151,7 +151,7 @@ public class PDFDebugger extends JFrame
private static final Set<COSName> OTHERCOLORSPACES = new HashSet<>(
Arrays.asList(COSName.ICCBASED, COSName.PATTERN, COSName.CALGRAY, COSName.CALRGB, COSName.LAB));
- private static final int SHORCUT_KEY_MASK = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+ private int shortcutKeyMask;
private static final String OS_NAME = System.getProperty("os.name").toLowerCase();
private static final boolean IS_MAC_OS = OS_NAME.startsWith("mac os x");
@@ -238,6 +238,10 @@ public class PDFDebugger extends JFrame
{
try
{
+ // can't be initialized earlier because it's an awt call which would fail when
+ // PDFBox.main runs on a headless system
+ shortcutKeyMask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
+
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
if (System.getProperty("apple.laf.useScreenMenuBar") == null)
{
@@ -462,7 +466,7 @@ public class PDFDebugger extends JFrame
private JMenu createFileMenu()
{
JMenuItem openMenuItem = new JMenuItem("Open...");
- openMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, SHORCUT_KEY_MASK));
+ openMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, shortcutKeyMask));
openMenuItem.addActionListener(this::openMenuItemActionPerformed);
JMenu fileMenu = new JMenu("File");
@@ -470,7 +474,7 @@ public class PDFDebugger extends JFrame
fileMenu.setMnemonic('F');
JMenuItem openUrlMenuItem = new JMenuItem("Open URL...");
- openUrlMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, SHORCUT_KEY_MASK));
+ openUrlMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, shortcutKeyMask));
openUrlMenuItem.addActionListener(evt ->
{
String urlString = JOptionPane.showInputDialog("Enter an URL");
@@ -490,7 +494,7 @@ public class PDFDebugger extends JFrame
fileMenu.add(openUrlMenuItem);
reopenMenuItem = new JMenuItem("Reopen");
- reopenMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, SHORCUT_KEY_MASK));
+ reopenMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, shortcutKeyMask));
reopenMenuItem.addActionListener(evt ->
{
try
@@ -527,7 +531,7 @@ public class PDFDebugger extends JFrame
fileMenu.add(recentFilesMenu);
printMenuItem = new JMenuItem("Print");
- printMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, SHORCUT_KEY_MASK));
+ printMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, shortcutKeyMask));
printMenuItem.setEnabled(false);
printMenuItem.addActionListener(this::printMenuItemActionPerformed);
@@ -580,12 +584,12 @@ public class PDFDebugger extends JFrame
findMenuItem = new JMenuItem("Find...");
findMenuItem.setActionCommand("find");
- findMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, SHORCUT_KEY_MASK));
+ findMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, shortcutKeyMask));
findNextMenuItem = new JMenuItem("Find Next");
if (IS_MAC_OS)
{
- findNextMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, SHORCUT_KEY_MASK));
+ findNextMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G, shortcutKeyMask));
}
else
{
@@ -596,7 +600,7 @@ public class PDFDebugger extends JFrame
if (IS_MAC_OS)
{
findPreviousMenuItem.setAccelerator(KeyStroke.getKeyStroke(
- KeyEvent.VK_G, SHORCUT_KEY_MASK | InputEvent.SHIFT_DOWN_MASK));
+ KeyEvent.VK_G, shortcutKeyMask | InputEvent.SHIFT_DOWN_MASK));
}
else
{