X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FSwingSessionInfo.java;h=2f74d7012130e0eeda1f44c4721396d645493b35;hb=12b90437b5f22c2ae6e9b9b14c3b62b60f6143e5;hp=28668fd346d7012000a6887e54fac459bf1d04ea;hpb=a69ed767c9c07cf35cf1c5f7821fc009cfe79cd2;p=nikiroo-utils.git diff --git a/src/jexer/backend/SwingSessionInfo.java b/src/jexer/backend/SwingSessionInfo.java index 28668fd..2f74d70 100644 --- a/src/jexer/backend/SwingSessionInfo.java +++ b/src/jexer/backend/SwingSessionInfo.java @@ -179,6 +179,14 @@ public class SwingSessionInfo implements SessionInfo { Insets insets = swing.getInsets(); int width = swing.getWidth() - insets.left - insets.right; int height = swing.getHeight() - insets.top - insets.bottom; + // In theory, if Java reported pixel-perfect dimensions, the + // expressions above would precisely line up with the requested + // window size from SwingComponent.setDimensions(). In practice, + // there appears to be a small difference. Add half a text cell in + // both directions before the division to hopefully reach the same + // result as setDimensions() was supposed to give us. + width += (textWidth / 2); + height += (textHeight / 2); windowWidth = width / textWidth; windowHeight = height / textHeight;