Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 16 Event-Driven Programming Of all men’s miseries.

Similar presentations


Presentation on theme: "Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 16 Event-Driven Programming Of all men’s miseries."— Presentation transcript:

1 Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 16 Event-Driven Programming Of all men’s miseries the bitterest is this, to know so much and to have control over nothing. Herodotus (484-432 BC)

2 Copyright © 2006 The McGraw-Hill Companies, Inc. Contents 16.1 Event-Driven Control 16.2 Event Handling 16.3 Three Examples 16.4 Other Applications

3 Copyright © 2006 The McGraw-Hill Companies, Inc. A conventional model of computation has the program prescribe the exact order of input. Programs terminate once the input is exhausted. Event-driven programs do not control the sequence in which input events occur.

4 Copyright © 2006 The McGraw-Hill Companies, Inc. Examples GUI applications: Model-View-Controller design Embedded applications: cell phones car engines airplanes

5 Copyright © 2006 The McGraw-Hill Companies, Inc. 16.1 Event-Driven Control Computation as interaction [Stein] Computation is a community of persistent entities coupled together by their ongoing interactive behavior... Beginning and end, when present, are special cases that can often be ignored.

6 Copyright © 2006 The McGraw-Hill Companies, Inc. Imperative and Event-Driven Paradigms Contrasted Figure 16.1

7 Copyright © 2006 The McGraw-Hill Companies, Inc. Input to an event-driven program comes from autonomous event sources. Eg: human, robot sensors, engine sensors.

8 Copyright © 2006 The McGraw-Hill Companies, Inc. Properties 1.An event-driven program has no perceived stopping point. 2.The traditional read-eval-print loop does not explicitly appear. 3.An application processes an input and exits.

9 Copyright © 2006 The McGraw-Hill Companies, Inc. Model-View-Controller (MVC) Model: the object being implemented. Ex: game, calculator. Controller: input mechanisms. Ex: buttons, menus, combo boxes. View: output.

10 Copyright © 2006 The McGraw-Hill Companies, Inc. Ex: Tic-Tac-Toe Model Whose turn is it? State of the board. Has someone won? Are there no empty squares?

11 Copyright © 2006 The McGraw-Hill Companies, Inc. Events in Java Subclasses of AWTEvent Event sources in Swing are subclasses of JComponent Program must listen for events Ex: for a JButton b – b.addActionListener(listener)

12 Copyright © 2006 The McGraw-Hill Companies, Inc. Java Class AWTEvent and Its Subclasses* Figure 16.2

13 Copyright © 2006 The McGraw-Hill Companies, Inc.

14 Java EventListener Class Interface and Its Subclasses* Figure 16.4

15 Copyright © 2006 The McGraw-Hill Companies, Inc. WidgetListenerInterface JButtonActionListeneractionPerformed JComboBoxActionListeneractionPerformed JLabel JTextAreaActionListeneractionPerformed JTextFieldActionListeneractionPerformed MouseListener... MouseMotionListener...

16 Copyright © 2006 The McGraw-Hill Companies, Inc. Java GUI Application A GUI application is a program that runs in its own window and communicates with users using buttons, menus, mouse clicks, etc. A GUI application often has a paint method, which is invoked whenever the application needs to repaint itself.

17 Copyright © 2006 The McGraw-Hill Companies, Inc. 16.3.2 Designing a Java Applet Can convert previous application An applet runs inside a web browser Differences –Extend JApplet –Lacks a main method –Method init replaces constructor

18 Copyright © 2006 The McGraw-Hill Companies, Inc. Tic-Tac-Toe State of the board Whose turn: X or O Whether game is over

19 Copyright © 2006 The McGraw-Hill Companies, Inc. private int player = -1; // Current player: EX, or OH private int[ ] board = new int[9];

20 Copyright © 2006 The McGraw-Hill Companies, Inc.

21 Elements of a Typical ATM Machine Transaction User Interface Figure 16.25

22 Copyright © 2006 The McGraw-Hill Companies, Inc. Overall Design of a Home Security System Figure 16.26


Download ppt "Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 16 Event-Driven Programming Of all men’s miseries."

Similar presentations


Ads by Google