Your SlideShare is downloading. ×
Chap13
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chap13

498

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
498
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Java Programming: From Problem Analysis to Program Design, 3e Chapter 13 Advanced GUIs and Graphics
  • 2. Chapter Objectives
    • Learn about applets
    • Explore the class Graphics
    • Learn about the class Font
    • Explore the class Color
    Java Programming: From Problem Analysis to Program Design, 3e
  • 3. Chapter Objectives (continued)
    • Learn to use additional Layout managers
    • Become familiar with more GUI components
    • Learn how to create menu-based programs
    • Explore how to handle key and mouse events
    Java Programming: From Problem Analysis to Program Design, 3e
  • 4. Inheritance Hierarchy of GUI Classes Java Programming: From Problem Analysis to Program Design, 3e
  • 5. Constructors and Methods of the class Component Java Programming: From Problem Analysis to Program Design, 3e
  • 6. Constructors and Methods of the class Component (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 7. Constructors and Methods of the class Component (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 8. Constructors and Methods of the class Component (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 9. Constructors and Methods of the class Container Java Programming: From Problem Analysis to Program Design, 3e
  • 10. Applets
    • Applet: a Java program that is embedded within a Web page and executed by a Web browser
    • Create an applet by extending the class JApplet
    • class JApplet contained in package javax.swing
    Java Programming: From Problem Analysis to Program Design, 3e
  • 11. Members of class JApplet Java Programming: From Problem Analysis to Program Design, 3e
  • 12. Members of class Japplet (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 13. Applets (continued)
    • No main method
    • Methods init , start , and paint guaranteed to be invoked in sequence
    • To develop an applet
      • Override any/all of the methods above
    Java Programming: From Problem Analysis to Program Design, 3e
  • 14. Applet Methods
    • init Method
      • Initializes variables
      • Gets data from user
      • Places various GUI components
    • paint Method
      • Performs output
    Java Programming: From Problem Analysis to Program Design, 3e
  • 15. Skeleton of a Java Applet Java Programming: From Problem Analysis to Program Design, 3e import java.awt.Graphics; import javax.swing.JApplet; public class WelcomeApplet extends JApplet { }
  • 16. Applet Displaying Welcome Message Java Programming: From Problem Analysis to Program Design, 3e //Welcome Applet import java.awt.Graphics; import javax.swing.JApplet; public class WelcomeApplet extends JApplet { public void paint(Graphics g) { super .paint(g); //Line 1 g.drawString( " Welcome to Java Programming " , 30, 30); //Line 2 } }
  • 17. HTML to Run Applet Java Programming: From Problem Analysis to Program Design, 3e
  • 18. class Font
    • Shows text in different fonts
    • Contained in package java.awt
    • Available fonts
      • Serif/SanSerif
      • Monospaced
      • Dialog/DialogInput
    • Arguments for constructor
      • String specifying the Font face name
      • int value specifying Font style
      • int value specifying Font size
        • Expressed in points (72 points = 1 inch)
    Java Programming: From Problem Analysis to Program Design, 3e
  • 19. Constructors and Methods of the class Font Java Programming: From Problem Analysis to Program Design, 3e
  • 20. Constructors and Methods of the class Font (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 21. Constructors and Methods of the class Font (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 22. class Color
    • Shows text in different colors
    • Changes background color of component
    • Contained in package java.awt
    Java Programming: From Problem Analysis to Program Design, 3e
  • 23. Constructors of the class Color Java Programming: From Problem Analysis to Program Design, 3e
  • 24. Constructors of the class Color (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 25. Constants Defined in the class Color Java Programming: From Problem Analysis to Program Design, 3e
  • 26. Constants Defined in the class Color (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 27. Constants Defined in the class Color (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 28. class Graphics
    • Provides methods for drawing items such as lines, ovals, and rectangles on the screen
    • Contains methods to set the properties of graphic elements including clipping area, fonts, and colors
    • Contained in the package java.awt
    Java Programming: From Problem Analysis to Program Design, 3e
  • 29. Constructors and Methods of the class Graphics Java Programming: From Problem Analysis to Program Design, 3e
  • 30. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 31. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 32. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 33. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 34. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 35. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 36. Constructors and Methods of the class Graphics (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 37. Differences Between Applets and GUI Applications
    • Applets
      • Derived from JApplet
      • No main method
      • Uses init method
      • Displayed by HTML
      • Sets title in HTML
      • Size set in HTML
      • Applet closes when HTML doc closes
    • GUI applications
      • class extends JFrame
      • Invokes main method
      • Uses constructors
      • Uses method setVisible
      • Uses setTitle method
      • Uses method setSize
      • Closes with Exit button
    Java Programming: From Problem Analysis to Program Design, 3e
  • 38. Converting a GUI Application to an Applet
    • Change JFrame to JApplet
    • Change constructor to method init
    • Remove method calls such as setVisible , setTitle , setSize
    • Remove the method main
    • If applicable, remove Exit button/all code associated with it (e.g. action listener)
    Java Programming: From Problem Analysis to Program Design, 3e
  • 39. Additional GUI Components
    • JTextArea
    • JCheckBox
    • JRadioButton
    • JComboBox
    • JList
    Java Programming: From Problem Analysis to Program Design, 3e
  • 40. JTextArea
    • Can collect multiple lines of input from user
    • Can display multiple lines of output
    • Pressing Enter key separates lines of text
    • Each line ends with newline character ‘ ’
    • Derived from class JTextComponent
    Java Programming: From Problem Analysis to Program Design, 3e
  • 41. JTextArea (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 42. Methods Inherited by class JTextArea from Parent class JTextComponent Java Programming: From Problem Analysis to Program Design, 3e
  • 43. JTextArea Example Java Programming: From Problem Analysis to Program Design, 3e
  • 44. JCheckBox
    • User selects from predefined values
    • Example of a toggle button
    • Clicking JCheckBox generates item event
    • Use interface ItemListener and its abstract method itemStateChanged to handle event
    Java Programming: From Problem Analysis to Program Design, 3e
  • 45. Constructors and Methods of class JCheckBox Java Programming: From Problem Analysis to Program Design, 3e
  • 46. Constructors and Methods of class JCheckBox (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 47. Constructors and Methods of class JCheckBox (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 48. Constructors and Methods of class JCheckBox (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 49. JRadioButton
    • Created same way as check boxes
    • Placed in content pane of applet
    • Forces user to select only one radio button at a time
    • You create a button group to group radio buttons
    • Generates an ItemEvent
    • interface ItemListener and method itemStateChanged used to handle events
    Java Programming: From Problem Analysis to Program Design, 3e
  • 50. JRadioButton (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 51. JRadioButton (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 52. JRadioButton (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 53. JRadioButton (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 54. JComboBox
    • Commonly known as a drop-down list
    • Used to select an item from a list of possibilities
    • Generates an ItemEvent
    • Event monitored by ItemListener
    • ItemListener invokes method itemStateChanged
    Java Programming: From Problem Analysis to Program Design, 3e
  • 55. Constructors of class JComboBox Java Programming: From Problem Analysis to Program Design, 3e
  • 56. Applet with JCheckBox , JComboBox , and JRadioButton Java Programming: From Problem Analysis to Program Design, 3e
  • 57. Constructors of class JList Java Programming: From Problem Analysis to Program Design, 3e
  • 58. Constructors of class Jlist (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 59. Constructors of class Jlist (continued) Java Programming: From Problem Analysis to Program Design, 3e
  • 60. Layout Managers
    • FlowLayout
      • Default layout manager
      • Places components from left to right, center by default, until no more items can be placed
      • Can align each line left, center, or right
      • Default alignment: LEFT
    • GridLayout
      • Similar to FlowLayout
      • All rows (columns) have same number of components
      • All components have the same size
    Java Programming: From Problem Analysis to Program Design, 3e
  • 61. Layout Managers (continued)
    • BorderLayout
      • Items placed into one of 5 specific regions
        • NORTH/SOUTH
        • EAST/WEST
        • CENTER
      • NORTH and SOUTH components extend horizontally (completely span one edge to the other)
      • EAST and WEST components extend vertically between components in NORTH and SOUTH regions
      • CENTER component expands to occupy any unused regions
    Java Programming: From Problem Analysis to Program Design, 3e
  • 62. Menus
    • Allow for various functions without cluttering GUI with too many components
    • Can be attached to objects such as JFrame and JApplet ( setJMenuBar method)
    • To set a menu bar
      • private JMenuBar menuMB =
      • new JMenuBar();
      • setJMenuBar(menuMB);
    • Add menus to menu bar; add menu items to menu
    • Order of menus added = Order of appearance
    Java Programming: From Problem Analysis to Program Design, 3e
  • 63. Key and Mouse Events Java Programming: From Problem Analysis to Program Design, 3e
  • 64. Chapter Summary
    • Creating Applets
    • class Font
    • class Graphics
    • class Color
    • Differences between Applet and GUI application
    • Converting GUI application to Applet
    Java Programming: From Problem Analysis to Program Design, 3e
  • 65. Chapter Summary (continued)
    • GUI components
      • JTextArea
      • JCheckBox
      • JRadioButton
    • Layout managers
    • Menus
    • Key and mouse events
    Java Programming: From Problem Analysis to Program Design, 3e

×