Nov 061 Size Control How is a component’s size determined during layout and during resize operations? Three factors determine component sizes: The component’s size properties (preferred, minimum, and maximum) Whether the size properties are “assumed” or “explicitly set” Layout manager policies
Nov 062 Example Program DemoSizeControl.java usage: java DemoSizeControl arg1 where 'arg1' specifies the layout manager as follows: 1 = BorderLayout 2 = FlowLayout 3 = GridLayout 4 = BoxLayout Example (next 2 slides)
Nov 063 Example Program (2) JButton b1 = new JButton("Button One"); JButton b2 = new JButton("B2"); JButton b3 = new JButton("B3"); JButton b4 = new JButton("B4"); b3.setMaximumSize(b1.getPreferredSize()); b4.setPreferredSize(new Dimension(150, 50)); b4.setMaximumSize(new Dimension(150, 50)); Component construction and configuration
Nov 064 Border Layout Flow Layout Grid Layout Box Layout Expands to maximum size when resizing Output
Nov 065 Default Layout Managers JPanel = FlowLayout JFrame’s content pane = BorderLayout
Nov 066 Programming Challenge Create a GUI layout, as follows Clear Exit Enter some text: Clear Exit Enter some text: Upon launching After resizing
Output Model A picture is worth a thousand words
Nov 068 Coordinate Systems Device coordinates Physical coordinates
Nov 069 Device Coordinates Most natural units for the output device Typically dots or pixels Origin possibilities Centre Bottom left Upper left
Nov 0610 Physical Coordinates Printed page inches, cm Architectural drawings feet, meters
Nov 0611 Component Java’s Coordinate System (0,0) x y (width – 1, height - 1)
Nov 0612 Example Program (shown earlier) DemoMouseEvents.java (x, y) coordinate of pointer in component
Nov 0613 Pixels A Pixel is a “picture element” a single point in a graphic image A graphics display is divided into thousands (or millions) of pixels arranged in rows and columns The pixels are so close together they appear connected The number of bits used to represent each pixel determines how many colours or shades of grey can be represented For a B&W (black and white) display, each pixel is represented by 1 bit With 8 bits per pixel, a monitor can display 256 shades or grey or 256 colours (Note: 2 8 = 256)
Nov 0614 An image presented on a display is composed of pixels pixel
Nov 0615 Display Size Usually specified in “inches” Value cited is the diagonal dimension of the raster -- the viewable area of the display E.g., a 15” monitor 15”
Nov 0616 Resolution Resolution is the number of pixels on a display Usually cited as n by m n is the number of pixels across the display m is the number of pixels down the display Typical resolutions range from… 640 by 480 (low end), to 1,600 by 1,200 (high end)
Nov 0617 Video RAM Requirements Total number of pixels is n m Examples 640 480 = 307,200 pixels 1,600 1,200 = 1,920,000 pixels Video RAM required equals total number of pixels times the number of bits/pixel Examples 640 480 8 = 2,457,600 bits = 307,200 bytes = 300 KB 1,600 1,200 24 = 46,080,000 bits = 5,760,000 bytes = 5,625 KB = 5.49 MB Note: 1 KB = 2 10 = 1024 bytes, 1 MB = 2 20 = 1,048,576 bytes
Nov 0618 Resolution Bits per pixel 8 bit16 bit24 bit 640 x x x x x x Video RAM (KB) By Resolution
Nov 0619 Aspect Ratio Aspect ratio is the ratio of the width to height of a display screen For a 640 by 480 display, the aspect ratio is 640:480, or 4:3 Related terms Landscape The width is greater than the height Portrait The height is greater than the width
Nov 0620 Dot Pitch Dot pitch is a measure of the diagonal distance between pixels on a display screen One of the principal characteristics that determines the quality of a display The lower the number, the crisper the image Cited in mm (millimeters) Typical values range from 0.15 mm to 0.30 mm Dot pitch, as specified, is the capability of the display
Nov 0621 Dot Pitch Illustrated Pixel mm
Nov 0622 Dot Pitch Image Example Q: What is the dot pitch of an image displayed on a 15” monitor with a resolution of 640 by 480? A: Z 1. 1.Z = ( ) 1/2 = mm = inch Dot pitch= 15 / 800 inches = inches = / mm = mm Notes:
Nov 0623 Two models for colour RGB Individual specifications for RED, GREEN, and BLUE HSB Individual specifications for hue, saturation, and brightness Together, hue and saturation are called chrominance; they represent the colour Hue is the distinction between colours (e.g., red, orange, yellow, green, etc.) Saturation is the purity of a colour, or the amount of grey in proportion to the hue High saturation very intense Low saturation washed out Zero saturation white brightness is also called luminance or intensity
Nov 0624 RGB model black blue red green cyan yellow white magenta
Nov 0625 RGB Model (2) Color RedGreenBlue Red Green Blue Yellow Cyan Magenta White Black 0 0 0
Nov 0626 Colour Choosers Control for colour usually employs a colour chooser (aka colour picker) Colour selected three ways: A pre-defined palette HSB values RGB values
Nov 0627 Java’s JColorChooser (1) Pre-defined pallete For a demo, see DemoMenu2.java
Nov 0628 Java’s JColorChooser (2) HSBFor a demo, see DemoMenu2.java
Nov 0629 Java’s JColorChooser (3) RGBFor a demo, see DemoMenu2.java
Nov 0630 Microsoft Office
Nov 0631 Netscape Navigator and Microsoft IE
Nov 0632 Paint Shop Pro
Nov 0633 Drawing Java’s “J” components are the building blocks of graphical user interfaces At a lower level, Java provides a set of drawing primitives for Shapes Lines Curves Images Text
Nov 0634 Example Program DemoPaintPanel.java
Nov 0635 Example Program DemoPaintPanel2.java DemoPaintPanel3.java
Nov 0636 Custom painting with Swing JComponentpaint paintChildren paintBorder paintComponent JPanel paint paintChildren paintBorder paintComponent PaintPanel paint paintChildren paintBorder paintComponent extends Never call paint() directly. Instead, call repaint() The right method to override for custom painting