There are 3 main concepts when doing GUI programming in Java:
– Component: An object that the user can see on the screen and can also interact with.
– Container: A component that can hold other components.
– Event: An action triggered by the user (e.g. pressing a key, clicking a mouse button). • Designing a GUI involves creating components, putting them into containers, and arranging for the program to respond to events
Why javax.swing is better …
More efficient use of resources More consistency across platforms because Swing is written entirely in Java. Cleaner look-and-feel integration
Containers: objects capable of containing other Component objects.
Components: single entities
Top-level Containers: At least one of these containers must be present in any Swing application.
General-purpose Containers: Found in most Swing applications.
Frame: one of the most used containers
A Frame is a simple, resizeable window with a border, title bar and possibly a menu bar.
Frame defaults: – Initially created with 0 size → setSize(int,int); – Initially created invisible → setVisible(boolean);
Basic Swing Components: Used mainly for getting input from the user.
A (user) event is triggered any time when some sort of defined signal is received by the program.
You need an listener and a source for each event
• Listener Interface: the bridge between the listener (the user code) and the event source (e.g. the button).
– Implementing a listener interface gives the button a way to call the user code back.
• Event source: object that can turn user actions (e.g. click a mouse, close a window) into events.
• Every event type has a matching listener interface.