Chapter 11.1

13
SIMPLE GUI I/O Chapter 11.1:

Transcript of Chapter 11.1

Page 1: Chapter 11.1

SIMPLE GUI I/OChapter 11.1:

Page 2: Chapter 11.1

Graphical User Interface In Java, GUI-based programs are implemented by

using classes from the javax.swing and java.awt packages.

The Swing classes provide greater compatibility across different operating systems. They are fully implemented in Java, and behave the same on different operating systems.

Page 3: Chapter 11.1

Various Java GUI Componentsfrom the javax.swing package

Button

Label Text field

Check Box

Radio Button

Combo Box

Page 4: Chapter 11.1

Sample GUI Objects Various GUI components from the javax.swing

package.

Page 5: Chapter 11.1

AWT Class Hierarchy (java.awt package)

AWTEvent

Font

FontMetrics

Component

Graphics

Object Color

Canvas

Button

TextComponent

Label

List

CheckBoxGroup

CheckBox

Choice

Container Panel Applet

Frame

Dialog FileDialog

Window

TextField

TextArea

MenuComponent MenuItem

MenuBar

Menu

Scrollbar

LayoutManager

Page 6: Chapter 11.1

Swing Class Hierarchy (javax.swing)

Dimension

Font

FontMetrics

Component

Graphics

Object Color

Container

Panel Applet

Frame

Dialog

Window

JComponent

JApplet

JFrame

JDialog

Swing Components in the javax.swing package

Lightweight

Classes in the java.awt package

1

LayoutManager

*

Page 7: Chapter 11.1

GUI Classes Can be classified into three groups

Container classes○ Ex: JFrame, JPanel, Japplet○ To contain other components

Helper classes○ Graphics, Color, Font, etc○ Used by components and containers to draw

and place objectsComponent classes

○ JButton, JTextField, ETC are subclasses of JComponent

Page 8: Chapter 11.1

Container Classes

Dimension

Font

FontMetrics

Component

Graphics

Object Color

Container

Panel Applet

Frame

Dialog

Window

JComponent

JApplet

JFrame

JDialog

Swing Components in the javax.swing package

Lightweight

Heavyweight

Classes in the java.awt package

1

LayoutManager

*

JPanel Container classes can contain other GUI components.

Page 9: Chapter 11.1

Container Classes Used to contain other GUI components Window, Panel, Frame, Dialog and Applet

are the container classes for AWT components

To work with Swing components, use Component, Container, JFrame, JPanel,JDialog and JApplet

ContainerUsed to group components. A layout manager is used to position and place

components in containerEx. Frames, panels and applets

Page 10: Chapter 11.1

Container Classes Jframe

Is a window not contained inside another window. It is the container that holds other swing UI components

JpanelAn invisible container that holds UI componentsPanel can be nestedCan place panels inside a container that includes a panel

JdialogA pop-up windows or message box to receive additional

information from the user or provide notification that an event has occurred

JApplet – a subclass of Applet. Must extend JApplet to create a Swing-based applet

Page 11: Chapter 11.1

GUI Helper Classes

Dimension

Font

FontMetrics

Component

Graphics

Object Color

Container

Panel Applet

Frame

Dialog

Window

JComponent

JApplet

JFrame

JDialog

Swing Components in the javax.swing package

Lightweight

Heavyweight

Classes in the java.awt package

1

LayoutManager

*

JPanel The helper classes are not subclasses of Component. They are used to describe the properties of GUI components such as graphics context, colors, fonts, and dimension.

Page 12: Chapter 11.1

Swing GUI Components Component is a superclass of all the UI

classes JComponent is a superclass of all the

lightweight Swing components JComponent is an abstract class, cannot use

new JComponent to create an instance of Jcomponent

Use the constructor of subclasses of JComponent to create JComponent instances.

An instance of a subclass can invoke the accessible method defined in its superclass

Page 13: Chapter 11.1

Swing GUI Components – class hierarchy

JMenuItem

JCheckBoxMenuItem

AbstractButton

JComponent

JMenu

JRadioButtonMenuItem

JToggleButton JCheckBox

JRadioButton

JComboBox

JInternalFrame

JLayeredPane

JList

JMenuBar

JOptionPane

JPopupMenu

JProgressBar

JFileChooser

JScrollBar

JScrollPane JSeparator JSplitPane

JSlider

JTabbedPane

JTable JTableHeader

JTextField JTextComponent

JTextArea

JToolBar JToolTip

JTree

JRootPane

JPanel

JPasswordField

JColorChooser

JLabel

JEditorPane

JSpinner

JButton