The fineness of the monitor screen.
If you look at the Windows Control Panel under Display, (or the equivalent) you can see that you can control the
screen resolution, typically something like 640x480, 800 × 600, 1024 × 768, 1280 × 1024, 1920
× 1080 (HDTV (High Definition Television)), 1920 × 1199 up to about 7680 × 4800. The image on your screen in made up of rows
and columns of tiny coloured dots called pixels. The number 1280 × 1024 means the image is 1280 columns of dots wide by 1024 rows of dots high.
Low resolution would be 640 × 480 pixels (width × height). High
resolution would be 1280x1024. The Dell 15" WUXGA has 1920x1200. Because the more dots you have, the smaller
they are, you must compensate by using a larger monitor for high resolution, or the type will be too small to
If you double the resolution, there are four times as many dots. This means the video hardware has four times
as much work to do each second to keep the screen refreshed. Further, the computer has four times as many dots to
render each time the screen changes. For high resolutions, you thus need high performance video hardware.
Recent LCDs (Liquid Crystal Displaies)
use a hardware resolution between 86dpi and 147dpi, only a few LCDs
use a resolution around 204dpi
(Toshiba, IBM (International Business Machines)).
To summarise, there are four way to measure resolution:
Trust your eyes not the specs. They are the ones that have to be happy with the image. It should not flicker or
distort. It should be sharp and clear.
- total number of pixels (dots), e.g. 1280x1024. Bigger is better.
- diagonal size of the screen, e.g. 15" (LCD (Liquid Crystal Display) makers are more honest that CRT (Cathode Ray Tube)
makers). Bigger is better. Take a ruler to the showroom with you to get he honest figure.
- dpi, dots per inch, how densely the pixels are packed. Bigger is better. A 1280
× 1024 image on a 17 monitor is only about 100 dpi. A 1600 × 1198 image on a 19 monitor
is about 111 dpi.
- dot pitch, how wide the physical sub-pixels are. Smaller in better. A typical
monitor spaces the red dots about 0.231 mm apart.
- VU. Visual Units. This is my personal proposal. One VU is the vertical distance
between two lines of type the user can comfortably read. It is the leading of the user’s preferred body
font. What it corresponds to in cm or pixels depends on many factors including visual acuity, personal
preference and screen resolution. My idea is you would design in visual units, and the user would configure the
value of a visual unit in pixels using a system wide slider in the Control Panel. The definition would then by
used by the OS (Operating System) and all apps. The user could adjust it an any time, causing a system wide revalidate. The GUI (Graphic User Interface)
and layouts would still work in pixels at the low level, but for various higher level methods you could specify
coordinates and sizes in terms of a VU grid, or perhaps in terms of integral MVUs, thousandths of a VU. The
notion could be used both for designing screen layouts and printed output easily readable by the user.
- An old HP (Hewlett Packard) Laserjet printer is 300 dpi.
- Newsprint is about 500 dpi.
- A modern laser printer is usually 600 dpi.
- Modern ink-jet printers are about 4800 × 1197 dpi. They are limited mainly by ink smudging and the
quality of the paper.
- Glossy magazines and photypesetters are about 1200 dpi.
The Scale Problem
The problem is ordinary Java apps look too small on these high resolution screens, because Java apps are
constructed in pixels, not points or inches the way PostScript is. A program that
draws an icon 32 pixels high looks huge on a low res screen, but shrinks down to a mite on an ultra highres
The free and open source JGoodies Forms
layout system addresses this issue; it supports non-pixel sizes: pt, mm, cm, in and more important, it
supports DLU (Dialog Units) that scale with the resolution and dialog font size. Here is how to find the size and
resolution of the screen to use in adjusting your Font and Frame sizes.
See a more detailed discussed under scalable layouts.
Oracle’s Javadoc on getScreenSize
class : available:
Oracle’s Javadoc on getScreenResolution
class : available: