Author: tilman
Date: Tue Aug 22 03:17:40 2023
New Revision: 1911836

URL: http://svn.apache.org/viewvc?rev=1911836&view=rev
Log:
PDFBOX-2941: improve positioning of text extraction window

Modified:
    
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java

Modified: 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java?rev=1911836&r1=1911835&r2=1911836&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
 (original)
+++ 
pdfbox/branches/3.0/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
 Tue Aug 22 03:17:40 2023
@@ -39,11 +39,11 @@ import javax.swing.event.AncestorListene
 import java.awt.Component;
 import java.awt.Cursor;
 import java.awt.Desktop;
-import java.awt.DisplayMode;
+import java.awt.Dimension;
 import java.awt.Font;
-import java.awt.GraphicsDevice;
 import java.awt.GraphicsEnvironment;
 import java.awt.Point;
+import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.MouseEvent;
@@ -277,10 +277,9 @@ public class PagePane implements ActionL
 
     private void startExtracting()
     {
-        GraphicsDevice gd = 
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
-        DisplayMode dm = gd.getDisplayMode();
-        int screenWidth = dm.getWidth();
-        int screenHeight = dm.getHeight();
+        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+        int screenWidth = (int) screenSize.getWidth();
+        int screenHeight = (int) screenSize.getHeight();
 
         TextDialog textDialog = TextDialog.instance();
         textDialog.setSize(screenWidth / 3, screenHeight / 3);
@@ -290,6 +289,8 @@ public class PagePane implements ActionL
         Point locationOnScreen = getPanel().getLocationOnScreen();
         int x = Math.min(locationOnScreen.x + getPanel().getWidth() / 2, 
screenWidth * 3 / 4);
         int y = Math.min(locationOnScreen.y + getPanel().getHeight() / 2, 
screenHeight * 3 / 4);
+        x = Math.max(0, x);
+        y = Math.max(0, y);
         textDialog.setLocation(x, y);
 
         try


Reply via email to