目录

  • 1 Introduction
    • 1.1 Introduction
    • 1.2 Machine Lang, Assembly lang and High-level lang
    • 1.3 History of Java
    • 1.4 Characteristics of Java
    • 1.5 Typical Java Development Environment
    • 1.6 Introduction to Java Application
  • 2 Classes and Objects
    • 2.1 Primitive Types vs. Reference Types
    • 2.2 Classes and Objects
      • 2.2.1 Declaring a Class
      • 2.2.2 Local and Instance Variables
      • 2.2.3 Methods: A Deeper Look
      • 2.2.4 Constructors
  • 3 Control Statements
    • 3.1 Control Structures
    • 3.2 if Selection
    • 3.3 while Repetition
    • 3.4 for Repetition
    • 3.5 do…while repetition
    • 3.6 switch multiple-selection
  • 4 Arrays and Collections
    • 4.1 Arrays
    • 4.2 ArrayList
    • 4.3 Set
    • 4.4 Generic Programming
  • 5 Object-Oriented Programming: Inheritance
    • 5.1 Inheritance
    • 5.2 Superclasses and Subclasses
    • 5.3 Constructors in Subclasses
  • 6 Object-Oriented Programming: Polymorphism
    • 6.1 Polymorphism
    • 6.2 Polymorphic Behavior
    • 6.3 Enable and Disable Polymorphism
  • 7 Exception Handling
    • 7.1 Exceptions
    • 7.2 Error-Handling
  • 8 Java I/O
    • 8.1 Java I/O Streams
    • 8.2 Decorator Design Pattern
  • 9 GUI Components
    • 9.1 AWT and SWING
    • 9.2 Event Model
  • 10 Multithreading
    • 10.1 Life Cycle of a Thread
    • 10.2 Thread Synchronization
    • 10.3 Producer/Consumer
AWT and SWING

A graphical user interface (GUI) presents a user-friendly mechanism for interacting with an application.

◦ Pronounced “GOO-ee”

◦ Gives an application a distinctive “look” and “feel.”

◦ Consistent, intuitive user-interface components give users a

sense of familiarity

◦ Learn new applications more quickly and use them more

productively.


User interacts via the mouse, the keyboard or another form of input, such as voice recognition.





Abstract Window Toolkit (AWT) in package java.awt is another set of GUI components in Java.

◦ When a Java application with an AWT GUI executes on different Java platforms, the application’s GUI components display differently on each platform.

 Together, the appearance and the way in which the user interacts with the application are known as that application’s look-and-feel.

 Swing GUI components allow you to specify a uniform look-and-feel for your application across all platforms or to use each platform’s custom look-and-feel.

Most Swing components are not tied to actual GUI components of the underlying platform.

◦ Known as lightweight components.

 AWT components are tied to the local platform and are

called heavyweight components, because they rely on the

local platform’s windowing system to determine their

functionality and their look-and-feel.

 Several Swing components are heavyweight components.

    


Class Component (package java.awt) declares many of the attributes and behaviors common to the GUI components in packages java.awt and javax.swing.

 Most GUI components extend class Component directly or indirectly.