From 92af0a7dc8d50a7a2a92bd17d0147a919b04442f Mon Sep 17 00:00:00 2001 From: "helmut.neemann" Date: Wed, 10 May 2017 12:49:53 +0200 Subject: [PATCH] based new font size on screen resolution instead of screen size --- .../gui/components/testing/TestDataDialog.java | 2 +- src/main/java/de/neemann/gui/Screen.java | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/components/testing/TestDataDialog.java b/src/main/java/de/neemann/digital/gui/components/testing/TestDataDialog.java index a11fc17c0..e3d828127 100644 --- a/src/main/java/de/neemann/digital/gui/components/testing/TestDataDialog.java +++ b/src/main/java/de/neemann/digital/gui/components/testing/TestDataDialog.java @@ -52,7 +52,7 @@ public class TestDataDialog extends JDialog { setDefaultCloseOperation(DISPOSE_ON_CLOSE); JTextArea text = new JTextArea(data.getDataString(), 30, 50); - text.setFont(new Font(Font.MONOSPACED, Font.PLAIN, (int) Screen.getInstance().getFontSize())); + text.setFont(new Font(Font.MONOSPACED, Font.PLAIN, Screen.getInstance().getFontSize())); JScrollPane scrollPane = new JScrollPane(text); getContentPane().add(scrollPane); diff --git a/src/main/java/de/neemann/gui/Screen.java b/src/main/java/de/neemann/gui/Screen.java index 22bf9e362..8c3c39ac1 100644 --- a/src/main/java/de/neemann/gui/Screen.java +++ b/src/main/java/de/neemann/gui/Screen.java @@ -1,5 +1,10 @@ package de.neemann.gui; +/* + * Win 150% : getScreenResolution() = 144 + * Win 100% : getScreenResolution() = 96 + */ + import javax.swing.*; import java.awt.*; import java.awt.geom.AffineTransform; @@ -16,7 +21,7 @@ public final class Screen { private static Screen instance = new Screen(); } - private final float size; + private final int size; private final float scaling; private final Font font; @@ -30,14 +35,13 @@ public final class Screen { private Screen() { Font font = new JLabel().getFont(); float scaling = 1; - float size = 12; + int size = 12; try { - Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); - float s = screenSize.height / 90f; + int s = Toolkit.getDefaultToolkit().getScreenResolution() * 12 / 96; if (s > 12) { - scaling = s / 12; + scaling = s / 12f; size = s; - font = font.deriveFont(s); + font = font.deriveFont((float) s); for (Object key : javax.swing.UIManager.getLookAndFeel().getDefaults().keySet()) { if (key.toString().endsWith(".font")) javax.swing.UIManager.put(key, font); @@ -95,7 +99,7 @@ public final class Screen { /** * @return font size */ - public float getFontSize() { + public int getFontSize() { return size; }