1 / 26

Java Programming, Second Edition

Java Programming, Second Edition. Chapter Fourteen Using Layout Managers and the Event Model. In this chapter, you will:. Learn about layout managers Use JPanels Learn about advanced layout managers Understand events and event handling Use the AWTEvent class methods

beck
Download Presentation

Java Programming, Second Edition

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. Java Programming, Second Edition Chapter Fourteen Using Layout Managers and the Event Model

  2. In this chapter, you will: Learn about layout managers Use JPanels Learn about advanced layout managers Understand events and event handling Use the AWTEvent class methods Use event methods from higher in the inheritance hierarchy Handle mouse events

  3. Learning about Layout Managers • Layout manager- An interface class that is part of the JDK • Aligns your components so they neither crowd each other nor overlap • Can assign layout managers within layout managers • For example: • One layout manager arranges components in equally spaced columns and rows

  4. Learning about Layout Managers

  5. Learning about Layout Managers • BorderLayout manager- The default manager for all content panes • Can use the BorderLayout class with any container that has five or fewer components • Components fill the screen with five regions named North, South, East, West, and Center • The compiler determines the exact size of each component based on the components contents • When BorderLayout is used with less than five components, any empty regions disappear

  6. Positions using the BorderLayout

  7. Learning about Layout Managers • FlowLayout- To arrange Components in rows across the width of a container • Each component retains its default size • Each component that you add is placed to the right of previously added components

  8. Learning about Layout Managers • GridLayout- To arrange Components into equal rows and columns • You indicate the numbers of rows and columns you want, and then the container surface is divided into a grid • Specify rows first, columns second • As you add components they are positioned left-to-right across each row in sequence

  9. JDemoGrid Swing applet

  10. Learning about Layout Managers • CardLayout- Generates a stack of containers or components, one on top of another • Each container in the group is referred to as a card • Only one component is visible at a time • A card layout is created from the CardLayout class using one of two constructors • CardLayout() creates a new card layout without a horizontal or vertical gap • CardLayout(int hgap, int vgap) creates a new card layout with the specified horizontal and vertical gaps

  11. Using JPanels • JPanels- Increase the number of possible component arrangements by using the JPanel class • A JPanel is similar to a JWindow in that a JPanel is a surface on which you can place components • JPanel is a Container so it can contain other components • By using JPanels within JPanels, you can create an infinite variety of screen layouts

  12. Using JPanels • JPanel object constructors • JPanel() creates a new JPanel with a double buffer and a flow layout • JPanel(LayoutManager layout) creates a new buffered JPanel with the specified layout manager

  13. Learning about Advanced Layout Managers • GridBagLayout- Allows you to add components to precise locations within the grid, as well as to indicate that specific Components should span multiple rows or columns within the grid • This class is difficult to use because you must set the position and size for each component

  14. Learning about Advanced Layout Managers • BoxLayout- Components are arranged in either a single row or a single column • The box layout manager tries to make all the components the same height(row) or width(column) so components do not spill over

  15. BoxLayout • Requires two arguments • The first refers to the container to which the layout manager applies • The second is a constant • BoxLayout.X_Axis for a row arrangement • BoxLayout.Y_Axis for a column arrangement

  16. Understanding Events and Event Handling • Events are Objects that the user initiates • For example a mouse click or a key press • The parent class for all event objects is EventObject • Event object descends from the Object class • EventObject is the parent class to AWTEvent which is the parent to specific classes such as ActionEvent

  17. Understanding Events and Event Handling

  18. Understanding Events and Event Handling • When you want to listen for an event, you can implement an appropriate interface for the class such as ActionListener or Window Listener • The class becomes an event listener • For every event class there is a similarly named listener • Every <name> listener interface method has a return type of void, and each takes one argument

  19. Understanding Events and Event Handling • Event handlers- Interface methods, such as actionPerformed(), that are called automatically when an appropriate event occurs

  20. Understanding Events and Event Handling

  21. Understanding Events and Event Handling

  22. Understanding Events and Event Handling • The KeyListener interface- Used when you are interested in events that users initiate from the keyboard • keyPressed()- provides information about keys that don’t generate characters • keyTyped()- provides information about what key was typed • keyReleased()- provides information about keys that don’t generate characters

  23. Using AWTEvent Class Methods • AWTEvent Class methods- Use many of these methods to determine the nature of and the facts about an event in question • The AWTEvent classes themselves contain methods

  24. Using Event Methods from Higher in the Inheritance Hierarchy • When you use an event such as KeyEvent, you can use any of the event’s methods • Because of inheritance, you can also use methods that belong to any class that is a superclass of the event with which you are working

  25. Handling Mouse Events • When you write GUI programs, you probably expect users to spend most of their time operating a mouse • You are interested in more than key presses • The MouseListener interface provides you with methods

  26. Mouse Events • mouseDragged() • mouseMoved() • mousePressed() • mouseClicked() • mouseReleased() • mouseEntered() • mouseExited()

More Related