1 / 36

Size Control

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.

langer
Download Presentation

Size Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. Example Program (2) Component construction and configuration 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));

  4. Output Flow Layout Border Layout Grid Layout Box Layout Expands to maximum size when resizing

  5. Default Layout Managers • JPanel = FlowLayout • JFrame’s content pane = BorderLayout

  6. Programming Challenge • Create a GUI layout, as follows After resizing Upon launching Enter some text: Enter some text: Exit Clear Exit Clear

  7. Output Model A picture is worth a thousand words

  8. Coordinate Systems • Device coordinates • Physical coordinates

  9. Device Coordinates • Most natural units for the output device • Typically dots or pixels • Origin possibilities • Centre • Bottom left • Upper left

  10. Physical Coordinates • Printed page inches, cm • Architectural drawings feet, meters

  11. Java’s Coordinate System (0,0) x Component y (width – 1, height - 1)

  12. Example Program (shown earlier) DemoMouseEvents.java (x, y) coordinate of pointer in component

  13. 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: 28 = 256)

  14. An image presented on a display is composed of pixels pixel

  15. 15” 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

  16. 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)

  17. 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 = 210 = 1024 bytes, 1 MB = 220 = 1,048,576 bytes

  18. Video RAM (KB) By Resolution

  19. 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

  20. 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

  21. Dot Pitch Illustrated Pixel 0.481 mm

  22. Dot pitch = 15 / 800 inches = 0.01875 inches = 0.01875 / 0.039 mm = 0.481 mm Notes: Z 480 • Z = (6402 + 4802)1/2 = 800 • 1 mm = 0.039 inch 640 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:

  23. 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

  24. white cyan yellow green magenta blue red RGB model black

  25. RGB Model (2) Color Red Green Blue Red 255 0 0 Green 0 255 0 Blue 0 0 255 Yellow 255 255 0 Cyan 0 255 255 Magenta 255 0 255 White 255 255 255 Black 0 0 0

  26. 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

  27. Java’s JColorChooser (1) Pre-definedpallete For a demo, seeDemoMenu2.java

  28. Java’s JColorChooser (2) HSB For a demo, seeDemoMenu2.java

  29. Java’s JColorChooser (3) RGB For a demo, seeDemoMenu2.java

  30. Microsoft Office

  31. Netscape Navigator and Microsoft IE

  32. Paint Shop Pro

  33. 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

  34. Example Program DemoPaintPanel.java

  35. Example Program DemoPaintPanel2.java DemoPaintPanel3.java

  36. JComponent paint paintComponent paintBorder paintChildren Custom painting with Swing Never call paint() directly. Instead, call repaint() extends JPanel paint paintComponent paintBorder paintChildren extends The right method to override for custom painting PaintPanel paint paintComponent paintBorder paintChildren

More Related