Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Quick Java Swing Tutorial

Similar presentations


Presentation on theme: "A Quick Java Swing Tutorial"— Presentation transcript:

1 A Quick Java Swing Tutorial

2 Introduction Swing – A set of GUI classes Highlights
Part of the Java's standard library Much better than the previous library: AWT Abstract Window Toolkit Highlights A rich set of widgets Widget: Any GUI element (also called: components) Contents and shape are separated (MVC support)‏ Fine-grained control over the behavior and look and feel Platform independent Isolates the programmer from the operating system's GUI

3 Swing Components Containers Contain and manage other components.
Top Level/Internal Examples: JFrame (Top Level), JScrollPane, JPanel. Basic controls Atomic components Used for showing ouput and/or getting some input Inherits JComponent Examples: JButton, JLabel, JTextArea, JTable, Jlist Usually every Swing class extends the corresponding AWT class For backward-compatibility reasons

4 Anatomy of an Application GUI
Internal structure JFrame JFrame JPanel containers JPanel JButton JButton JLabel JLabel

5 Build from bottom up Create: Add: (bottom up) Frame Panel Components
Listeners Add: (bottom up) listeners into components components into panel panel into frame Listener JButton JLabel JPanel JFrame

6 Top Level Containers: JFrame
javax.swing.JFrame: Top-level window with a title and a border. Usually used as a program's main window 6 6

7 Application Code import javax.swing.*; class hello {
public static void main(String[] args){ JFrame f = new JFrame(“title”); JPanel p = new JPanel(); JButton b = new JButton(“press me”); p.add(b); // add button to panel f.setContentPane(p); // add panel to frame f.show(); } press me

8 Top Level Containers: JDialog
javax.swing.JDialog: More simple and limited than frames Typically used for showing a short message on the screen Also has a border and a title bar May have an owner If the owner is invisible the dialog will also be invisible Use the static method of JoptionPane to show standard dialog boxes: JOptionPane.showMessageDialog(null, "4+2=6");

9 JOptionPane examples 2 showConfirmDialog analogous to a System.out.print that prints a question, then reading an input value from the user (can only be one of the provided choices) import javax.swing.*; class ConfirmDialogExample { public static void main(String[] args) { int choice = JOptionPane.showConfirmDialog(null, "Erase your hard disk?"); if (choice == JOptionPane.YES_OPTION) { JOptionPane.showMessageDialog(null, "Disk erased!"); } else { JOptionPane.showMessageDialog(null, "Cancelled."); }

10 Internal Containers Not Top level containers
Can contain other non-top level components Examples: JScrollPane: Provides a scrollable view of its components JSplitPane: Separates two components JTabbedPane: User chooses which component to see

11 Containers - Layout Each container has a layout manager
Determines the size, location of contained widgets. Setting the current layout of a container: void setLayout(LayoutManager lm) LayoutManager implementing classes: BorderLayout BoxLayout FlowLayout GridLayout

12 Swing Components

13 Event-driven Programming
program's execution is indeterminate on-screen components cause events to occur when they are clicked / interacted with events can be handled, causing the program to respond, driving the execution thru events (an "event-driven" program)

14 Action events (ActionEvent)
most common / simple event type in Swing represent an action occurring on a GUI component created by: button clicks check box checking / unchecking menu clicks pressing Enter in a text field etc.

15 Listening for events attach listener to component
listener’s appropriate method will be called when event occurs (e.g. when the button is clicked) for Action events, use ActionListener


Download ppt "A Quick Java Swing Tutorial"

Similar presentations


Ads by Google