The AWT Event Model 9
|
|
- Harvey Sharp
- 6 years ago
- Views:
Transcription
1 The AWT Event Model 9 Course Map This module covers the event-based GUI user input mechanism. Getting Started The Java Programming Language Basics Identifiers, Keywords, and Types Expressions and Flow Control Arrays Object-Oriented Programming Objects and Classes Advanced Language Features Exception Handling Exceptions Developing Graphical User Interfaces Building GUIs The AWT Event Model The AWT Component Library Java Foundation Classes Applets Introduction to Java Applets Multithreading Threads Communications Stream I/O and Files Networking 9-1
2 Relevance Discussion The following questions are relevant to the material presented in this module. What parts are required for a GUI to make it useful? How does a graphical program handle a mouse click or any other type of user interaction? 9-2 Java Programming
3 Objectives Upon completion of this module, you should be able to Write code to handle events that occur in a GUI Describe the concept of adapter classes, including how and when to use them. Determine the user action that originated the event from the event object details Create the appropriate interface and event handler methods for a variety of event types. The AWT Event Model 9-3
4 What Is an Event? When the user performs an action at the user interface level (clicks a mouse or presses a key), this causes an event to be issued. Events are objects that describe what has happened. A number of different types of event classes exist to describe different categories of user action. 9-4 Java Programming
5 What Is an Event? Event Sources An event source is the generator of an event. For example, a mouse click on a Button component will generate an ActionEvent with the button as the source. The ActionEvent instance is an object that contains information about the events that just took place. It contains: getactioncommand Returns the command name associated with the action. getmodifiers Return any modifiers held during the action. Event Handlers An event handler is a method that receives an event object, deciphers it, and processes the user s interaction. The AWT Event Model 9-5
6 JDK 1.0 Event Model Versus JDK 1.2 Event Model In JDK 1.1, significant changes in the way that events are received and processed were introduced. This section compares the previous event model (JDK 1.0) to the current event model (JDK 1.1 and JDK 1.2). JDK 1.0 uses a hierarchical event model, while JDK 1.1 and beyond use a delegation event model. Hierarchical Model (JDK 1.0) The hierarchical event model is based on containment. Events are sent to the component first, but then propagate up the containment hierarchy. Events that are not handled by the component will automatically continue to propagate to the component s container. 9-6 Java Programming
7 JDK 1.0 Event Model Versus JDK 1.2 Event Model For example, in the following figure, a mouse click on the Button object (contained by a Panel on a Frame) sends an action event to the Button first. If it is not handled by the Button, the event is then sent to the Panel, and if it is not handled there, the event is sent to the Frame. Frame Panel Button Action event The AWT Event Model 9-7
8 JDK 1.0 Event Model Versus JDK 1.2 Event Model Hierarchal Model (JDK 1.0) (Continued) There is an obvious advantage to this model: It is simple and well-suited to an object-oriented programming environment; after all, Java software components extend from the java.awt.component class, which is where the handleevent() method is. There are, however, some disadvantages: The event can be handled only by the component from where it originates or by one of the containers that contains it. This restriction violates one of the fundamental principles of objectoriented programming: functionality should reside in the most appropriate class. Often the most appropriate class for handling an event is not a member of the originating component s containment hierarchy. 9-8 Java Programming
9 DK 1.0 Event Model Versus JDK 1.2 Event Model Hierarchal Model (JDK 1.0) (Continued) A large number of CPU cycles are wasted on unrelated events. Any event unrelated or unimportant to the program would ripple all the way through the containment hierarchy before eventually being discarded. There is no simple way to filter events. In order to handle events, you must either subclass the component that receives the event or create a big handleevent() method at the base container. The AWT Event Model 9-9
10 JDK 1.0 Event Model Versus JDK 1.2 Event Model Delegation Model (JDK 1.1 and Beyond) The delegation event model came into existence with JDK 1.1. With this model, events are sent to the component from which the event originated, but it is up to each component to register one or more classes called listeners, which contain event handlers that can receive and process the event. In this way the event handler can be in an object separate from the component. Listeners are classes which implement the Listener interface. Frame Panel and Frame event handlers Panel Action event Button Action handler actionperformed (ActionEvent e) {... } Events are objects that are only reported to registered listeners. Every event has a corresponding listener interface which mandates which methods must be defined in a class suited to receiving that type of event. The class that implements the interface defines those methods, and can be registered as a listener. Events from components which have no registered listeners are not propagated Java Programming
11 JDK 1.0 Event Model Versus JDK 1.2 Event Model Delegation Model (JDK 1.1 and Beyond) (Continued) For example, here is a simple Frame with a single Button on it: 1 import java.awt.*; 2 3 public class TestButton { 4 public static void main(string args[]) { 5 Frame f = new Frame("Test"); 6 Button b = new Button("Press Me!"); 7 b.addactionlistener(new ButtonHandler()); 8 f.add(b,"center"); 9 f.pack(); 10 f.setvisible(true); 11 } 12 } The ButtonHandler class is the handler class to which the event will be delegated. 1 import java.awt.event.*; 2 3 public class ButtonHandler implements ActionListener { 4 public void actionperformed(actionevent e) { 5 System.out.println("Action occurred"); 6 System.out.println("Button s label is : 7 + e.getactioncommand()); 8 } 9 } These two examples have the following characteristics: The Button class has an addactionlistener(actionlistener) method. The ActionListener interface defines a single method, actionperformed, which will receive an ActionEvent. When a Button object is created, that object can register as a listener for ActionEvents through the addactionlistener method. The method is invoked with a parameter of the class that implements the ActionListener interface. The AWT Event Model 9-11
12 JDK 1.0 Event Model Versus JDK 1.2 Event Model Delegation Model (JDK 1.1 and Beyond) (Continued) When the Button object is clicked on with the mouse, an ActionEvent is sent. The ActionEvent is recieved through the actionperformed() method of any ActionListener that is registered through the addactionlistener() method. The method getactioncommand() of ActionEvent class returns the command name associated with this action. The button click action, for example, returns the label on the Button. There are several advantages to this approach: Events are not accidentally handled. In a hierarchical model it is possible for an event to propagate to a container and get handled at a level that is not expected. It is possible to create filter (adapter) classes to classify event actions Java Programming
13 JDK 1.0 Event Model Versus JDK 1.2 Event Model Delegation Model (JDK 1.1 and Beyond) (Continued) The delegation model is much better for the distribution of work among classes. The new event model provides support for JavaBeans. There is also a disadvantage to this approach: Although the current JDK supports the JDK 1.0 event model in addition to the delegation model, the JDK 1.0 and JDK 1.1 event models cannot be mixed. The AWT Event Model 9-13
14 GUI Behavior Event Categories The general mechanism for receiving events from components has been described in the context of a single type of event. The hierarchy of event classes is as shown below. Many of the event classes reside in the java.awt.event package, but others exist elsewhere in the API. java.util.eventobject java.awt.awtevent ActionEvent AdjustmentEvent ComponentEvent ItemEvent ContainerEvent FocusEvent InputEvent WindowEvent KeyEvent MouseEvent TextEvent java.beans.beancontext BeanContextEvent... For each category of events, there is an interface that has to be implemented by the class of objects that wants to receive the events. That interface demands that one or more methods be defined too. Those methods will be called when particular events arise. Table 9-1 lists the categories, giving the interface name for each category and the methods demanded. The method names are mnemonic, indicating the source or conditions that will cause the method to be called Java Programming
15 GUI Behavior Table 9-1 Method Categories and Interfaces Category Interface Name Methods Action ActionListener actionperformed(actionevent) Item ItemListener itemstatechanged(itemevent) Mouse motion Mouse button MouseMotionListener MouseListener mousedragged(mouseevent) mousemoved(mouseevent) mousepressed(mouseevent) mousereleased(mouseevent) mouseentered(mouseevent) mouseexited(mouseevent) mouseclicked(mouseevent) Key KeyListener keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent) Focus FocusListener focusgained(focusevent) focuslost(focusevent) Adjustment AdjustmentListener adjustmentvaluechanged (AdjustmentEvent) Component ComponentListener componentmoved(componentevent) componenthidden(componentevent) componentresized(componentevent) componentshown(componentevent) The AWT Event Model 9-15
16 GUI Behavior Table 9-1 Method Categories and Interfaces (Continued) Category Interface Name Methods Window WindowListener windowclosing(windowevent) windowopened(windowevent) windowiconified(windowevent) windowdeiconified(windowevent) windowclosed(windowevent) windowactivated(windowevent) windowdeactivated(windowevent) Container ContainerListener componentadded(containerevent) componentremoved(containerevent) Text TextListener textvaluechanged(textevent) 9-16 Java Programming
17 GUI Behavior Complex Example This section examines a more complex Java code software example. It tracks the movement of the mouse when the mouse button is pressed (mouse dragging). It also detects mouse movement even when the buttons are not pressed (mouse moving). The events caused by moving the mouse with or without a button pressed can be picked up by objects of a class that implements the MouseMotionListener interface. This interface requires two methods, mousedragged() and mousemoved(). Even if you are only interested in the drag movement, both methods must be provided. The body of the mousemoved() method can be empty, however. To pick up other mouse events, including mouse clicking, the MouseListener interface must be implemented. This interface includes several events including mouseentered, mouseexited, mousepressed, mousereleased, and mouseclicked. When mouse or keyboard events occur, information about the position of the mouse and the key that was pressed is available in the event that it generated. This is the code: 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class TwoListen implements 5 MouseMotionListener, MouseListener { 6 private Frame f; 7 private TextField tf; 8 9 public static void main(string args[]) { 10 TwoListen two = new TwoListen(); 11 two.go(); 12 } 13 The AWT Event Model 9-17
18 GUI Behavior Complex Example (Continued) 14 public void go() { 15 f = new Frame("Two listeners example"); 16 f.add (new Label ("Click and drag the mouse"), 17 "BorderLayout.NORTH"); 18 tf = new TextField (30); 19 f.add (tf, "BorderLayout.SOUTH"); f.addmousemotionlistener(this); 22 f.addmouselistener (this); 23 f.setsize(300, 200); 24 f.setvisible(true); 25 } // These are MouseMotionListener events 28 public void mousedragged (MouseEvent e) { 29 String s = 30 "Mouse dragging: X = " + e.getx() + 31 " Y = " + e.gety(); 32 tf.settext (s); 33 } public void mousemoved (MouseEvent e) { 36 } // These are MouseListener events 39 public void mouseclicked (MouseEvent e) { 40 } public void mouseentered (MouseEvent e) { 43 String s = "The mouse entered"; 44 tf.settext (s); 45 } 9-18 Java Programming
19 GUI Behavior Complex Example (Continued) 46 public void mouseexited (MouseEvent e) { 47 String s = "The mouse has left the building"; 48 tf.settext (s); 49 } public void mousepressed (MouseEvent e) { 52 } public void mousereleased (MouseEvent e) { 55 } 56 } A number of points in this example should be noted. These are discussed in the following sections. Declaring Multiple Interfaces The class is declared in line 4 using the following: implements MouseMotionListener, MouseListener Multiple interfaces can be declared by using comma separation. Listening to Multiple Sources If you issue the following method calls in lines 21 and 22: f.addmouselistener(this); f.addmousemotionlistener(this); both types of events cause methods to be called in the TwoListen class. An object can listen to as many event sources as required; its class need only implement the required interfaces. The AWT Event Model 9-19
20 GUI Behavior Complex Example (Continued) Obtaining Details About the Event The event arguments with which handler methods such as mousedragged() are called contain potentially important information about the original event. To determine the details of what information is available for each category of event, you should check the appropriate class documentation in the java.awt.event package Java Programming
21 GUI Behavior Multiple Listeners The AWT event listening framework actually allows multiple listeners to be attached to the same component. In general, if you want to write a program that performs multiple actions based on a single event, code that behavior into your handler method. However, sometimes a program s design requires multiple unrelated parts of the same program to react to the same event. This might happen if, for instance, a context-sensitive help system is being added to an existing program. The listener mechanism allows you to call an addxxxlistener method as many times as is needed, and you can specify as many different listeners as your design requires. All registered listeners will have their handler methods called when the event occurs. The AWT Event Model 9-21
22 GUI Behavior Multiple Listeners (Continued) Note The order in which the handler methods are called is undefined. Generally, if the order of invocation matters, then the handlers are not unrelated. In this case, register only the first listener, and have that one call the others directly Java Programming
23 Event Adapters It is a lot of work to have to implement all of the methods in each of the Listener interfaces, particularly the MouseListener interface and ComponentListener interface. The MouseListener interface, for example, defines the following methods: mouseclicked (MouseEvent) mouseentered (MouseEvent) mouseexited (MouseEvent) mousepressed (MouseEvent) mousereleased (MouseEvent) The AWT Event Model 9-23
24 Event Adapters As a convenience, the Java programming language provides adapter classes which implement each interface containing more than one method. The methods in these adapter classes are empty. You can extend the Adapter class and override only those methods that you need. For example: 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class MouseClickHandler extends MouseAdapter { 5 6 // We just need the mouseclick handler, so we use 7 // the Adapter to avoid having to write all the 8 // event handler methods 9 public void mouseclicked (MouseEvent e) { 10 // Do something with the mouse click } 12 } 9-24 Java Programming
25 Anonymous Classes It is possible to include an entire class definition within the scope of an expression. This approach defines what is called an anonymous class and creates the instance all at once. Anonymous classes are generally used in conjuction with AWT event handling. For example: 1 import java.awt.*; 2 import java.awt.event.*; 3 public class AnonTest { 4 private Frame f; 5 private TextField tf; 6 7 public static void main(string args[]) 8 { 9 AnonTest obj = new AnonTest(); 10 obj.go(); 11 } 12 The AWT Event Model 9-25
26 Anonymous Classes 13 public void go() { 14 f = new Frame("Anonymous classes example"); 15 f.add(new Label("Click and drag the " + 16 " mouse",borderlayout.north); 17 tf = new TextField (30); 18 f.add(tf,borderlayout.south); f.addmousemotionlistener (new 21 MouseMotionAdapter() { 22 public void mousedragged (MouseEvent e) { 23 String s = 24 "Mouse dragging: X = " + e.getx() + 25 " Y = " + e.gety(); 26 tf.settext (s); 27 } 28 } ); // <- note the closing parenthesis f.addmouselistener (new MouseClickHandler()); 31 f.setsize(300, 200); 32 f.setvisible(true); 33 } 34 } 9-26 Java Programming
27 Exercise: Working With Events Exercise objective You will write, compile and run the revised Calculator GUI and Account GUI codes to include event handlers. Preparation In order to successfully complete this lab, you must have a clear understanding of how the event model works. Tasks Level 1 Lab: Create a Calculator GUI, Part II 1. Using the GUI code you created from the Module 8 exercise, write an event code that connects the calculator s user interface to the appropriate event handlers for the functions on a calculator. Level 3 Lab: Create an Account GUI, Part II 1. Create an AccountEvent class, objects of which are fired when changes to accounts occur. Then fire the events to the BankManager class. Begin with the Teller.java GUI code you created for the Module 8 lab. The AWT Event Model 9-27
28 Exercise: Working With Events Exercise Summary Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercises. Experiences Interpretations Conclusions Applications 9-28 Java Programming
29 Check Your Progress Before continuing on to the next module, check to be sure that you can Write code to handle events that occur in a GUI Describe the concept of adapter classes, including how and when to use them Determine the user action that originated the event from the event object details Create the appropriate interface and event handler methods for a variety of event types. The AWT Event Model 9-29
30 Think Beyond You now know how to set up a Java software GUI for both graphic output and interactive user input. However, only a few of the components from which GUIs can be built have been described. What other components would be useful in a GUI? 9-30 Java Programming
GUI Event Handling 11. GUI Event Handling. Objectives. What is an Event? Hierarchical Model (JDK1.0) Delegation Model (JDK1.1)
Objectives Write code to handle events that occur in a GUI 11 GUI Event Handling Describe the concept of adapter classes, including how and when to use them Determine the user action that originated the
More informationAdvanced Java Programming (17625) Event Handling. 20 Marks
Advanced Java Programming (17625) Event Handling 20 Marks Specific Objectives To write event driven programs using the delegation event model. To write programs using adapter classes & the inner classes.
More informationInteracción con GUIs
Interacción con GUIs Delegation Event Model Fuente EVENTO Oyente suscripción Fuente Oyente suscripción EVENTO Adaptador EVENTO java.lang.object java.util.eventobject java.awt.awtevent java.awt.event. ActionEvent
More information11/7/12. Discussion of Roulette Assignment. Objectives. Compiler s Names of Classes. GUI Review. Window Events
Objectives Event Handling Animation Discussion of Roulette Assignment How easy/difficult to refactor for extensibility? Was it easier to add to your refactored code? Ø What would your refactored classes
More informationHandling Mouse and Keyboard Events
Handling Mouse and Keyboard Events 605.481 1 Java Event Delegation Model EventListener handleevent(eventobject handleevent(eventobject e); e); EventListenerObject source.addlistener(this);
More informationGUI Program Organization. Sequential vs. Event-driven Programming. Sequential Programming. Outline
Sequential vs. Event-driven Programming Reacting to the user GUI Program Organization Let s digress briefly to examine the organization of our GUI programs We ll do this in stages, by examining three example
More informationExample Programs. COSC 3461 User Interfaces. GUI Program Organization. Outline. DemoHelloWorld.java DemoHelloWorld2.java DemoSwing.
COSC User Interfaces Module 3 Sequential vs. Event-driven Programming Example Programs DemoLargestConsole.java DemoLargestGUI.java Demo programs will be available on the course web page. GUI Program Organization
More informationJava Graphical User Interfaces AWT (Abstract Window Toolkit) & Swing
Java Graphical User Interfaces AWT (Abstract Window Toolkit) & Swing Rui Moreira Some useful links: http://java.sun.com/docs/books/tutorial/uiswing/toc.html http://www.unix.org.ua/orelly/java-ent/jfc/
More informationMethod Of Key Event Key Listener must implement three methods, keypressed(), keyreleased() & keytyped(). 1) keypressed() : will run whenever a key is
INDEX Event Handling. Key Event. Methods Of Key Event. Example Of Key Event. Mouse Event. Method Of Mouse Event. Mouse Motion Listener. Example of Mouse Event. Event Handling One of the key concept in
More informationGUI in Java TalentHome Solutions
GUI in Java TalentHome Solutions AWT Stands for Abstract Window Toolkit API to develop GUI in java Has some predefined components Platform Dependent Heavy weight To use AWT, import java.awt.* Calculator
More informationEvent Driven Programming
Event Driven Programming 1. Objectives... 2 2. Definitions... 2 3. Event-Driven Style of Programming... 2 4. Event Polling Model... 3 5. Java's Event Delegation Model... 5 6. How to Implement an Event
More informationGUI DYNAMICS Lecture July 26 CS2110 Summer 2011
GUI DYNAMICS Lecture July 26 CS2110 Summer 2011 GUI Statics and GUI Dynamics 2 Statics: what s drawn on the screen Components buttons, labels, lists, sliders, menus,... Containers: components that contain
More informationGUI Event Handlers (Part I)
GUI Event Handlers (Part I) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda General event
More informationBM214E Object Oriented Programming Lecture 13
BM214E Object Oriented Programming Lecture 13 Events To understand how events work in Java, we have to look closely at how we use GUIs. When you interact with a GUI, there are many events taking place
More informationControl Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User
CSE3461 Control Flow Paradigms: Reacting to the User Control Flow: Overview Definition of control flow: The sequence of execution of instructions in a program. Control flow is determined at run time by
More informationUNIT-3 : MULTI THREADED PROGRAMMING, EVENT HANDLING. A Multithreaded program contains two or more parts that can run concurrently.
UNIT-3 : MULTI THREADED PROGRAMMING, EVENT HANDLING 1. What are Threads? A thread is a single path of execution of code in a program. A Multithreaded program contains two or more parts that can run concurrently.
More informationCOMPSCI 230. Software Design and Construction. Swing
COMPSCI 230 Software Design and Construction Swing 1 2013-04-17 Recap: SWING DESIGN PRINCIPLES 1. GUI is built as containment hierarchy of widgets (i.e. the parent-child nesting relation between them)
More informationModule 4 Multi threaded Programming, Event Handling. OOC 4 th Sem, B Div Prof. Mouna M. Naravani
Module 4 Multi threaded Programming, Event Handling OOC 4 th Sem, B Div 2017-18 Prof. Mouna M. Naravani Event Handling Complete Reference 7 th ed. Chapter No. 22 Event Handling Any program that uses a
More informationDr. Hikmat A. M. AbdelJaber
Dr. Hikmat A. M. AbdelJaber GUI are event driven (i.e. when user interacts with a GUI component, the interaction (event) derives the program to perform a task). Event: click button, type in text field,
More informationChapter 1 GUI Applications
Chapter 1 GUI Applications 1. GUI Applications So far we've seen GUI programs only in the context of Applets. But we can have GUI applications too. A GUI application will not have any of the security limitations
More informationAssignment No 2. Year: Dept.: ComputerTech. Sanjivani Rural Education Society s Sanjivani KBP Polytechnic, Kopargaon
Year: 015-16 ACAD/F/3 Subject: AJP(1765) Division:CMTA(CM6G) Pages: 1-7 CHAPTER :Event Handling(0 Marks) Q.1 package contains all the classes and methods required for Event handling in java. (a) java.applet
More informationGUI Programming: Swing and Event Handling
GUI Programming: Swing and Event Handling Sara Sprenkle 1 Announcements No class next Tuesday My Fourth of July present to you: No quiz! Assignment 3 due today Review Collections: List, Set, Map Inner
More informationWhich of the following syntax used to attach an input stream to console?
Which of the following syntax used to attach an input stream to console? FileReader fr = new FileReader( input.txt ); FileReader fr = new FileReader(FileDescriptor.in); FileReader fr = new FileReader(FileDescriptor);
More informationPackages: Putting Classes Together
Packages: Putting Classes Together 1 Introduction 2 The main feature of OOP is its ability to support the reuse of code: Extending the classes (via inheritance) Extending interfaces The features in basic
More informationG51PGP Programming Paradigms. Lecture 008 Inner classes, anonymous classes, Swing worker thread
G51PGP Programming Paradigms Lecture 008 Inner classes, anonymous classes, Swing worker thread 1 Reminder subtype polymorphism public class TestAnimals public static void main(string[] args) Animal[] animals
More informationCSEN401 Computer Programming Lab. Topics: Graphical User Interface Window Interfaces using Swing
CSEN401 Computer Programming Lab Topics: Graphical User Interface Window Interfaces using Swing Prof. Dr. Slim Abdennadher 22.3.2015 c S. Abdennadher 1 Swing c S. Abdennadher 2 AWT versus Swing Two basic
More information(listener)... MouseListener, ActionLister. (adapter)... MouseAdapter, ActionAdapter. java.awt AWT Abstract Window Toolkit GUI
51 6!! GUI(Graphical User Interface) java.awt javax.swing (component) GUI... (container) (listener)... MouseListener, ActionLister (adapter)... MouseAdapter, ActionAdapter 6.1 GUI(Graphics User Interface
More informationAdvanced Java Programming
Advanced Java Programming Shmulik London Lecture #5 GUI Programming Part I AWT & Basics Advanced Java Programming / Shmulik London 2006 Interdisciplinary Center Herzeliza Israel 1 Agenda AWT & Swing AWT
More informationSD Module-1 Advanced JAVA
Assignment No. 4 SD Module-1 Advanced JAVA R C (4) V T Total (10) Dated Sign Title: Transform the above system from command line system to GUI based application Problem Definition: Write a Java program
More informationSD Module-1 Advanced JAVA. Assignment No. 4
SD Module-1 Advanced JAVA Assignment No. 4 Title :- Transform the above system from command line system to GUI based application Problem Definition: Write a Java program with the help of GUI based Application
More informationBean Communication. COMP434B Software Design. Bean Communication. Bean Communication. Bean Communication. Bean Communication
COMP434B Software Design JavaBeans: Events and Reflection Events are the primary mechanism by which Java components interact with each other One Bean generates an event and one or more other Beans receive
More informationGraphical User Interfaces 2
Graphical User Interfaces 2 CSCI 136: Fundamentals CSCI 136: Fundamentals of Computer of Science Computer II Science Keith II Vertanen Keith Vertanen Copyright 2011 Extending JFrame Dialog boxes Overview
More information10/16/2008. CSG 170 Round 5. Prof. Timothy Bickmore. User Analysis Task Analysis (6) Problem Scenarios (3)
Human-Computer Interaction CSG 170 Round 5 Prof. Timothy Bickmore T2: Requirements Analysis Review User Analysis Task Analysis (6) Problem Scenarios (3) 1 T2 Review Requirements Analysis Who is the user?
More informationIšdėstymai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.
Išdėstymai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Išdėstymo valdymas Java kalboje komponentų išdėstymą valdo programos kodas, o ne resursai (kaip kitose
More informationEvent Binding. Different Approaches Global Hooks. 2.5 Event Binding 1
Event Binding Different Approaches Global Hooks 2.5 Event Binding 1 Event Dispatch vs. Event Binddling Event Dispatch phase addresses: - Which window receives an event? - Which widget processes it? Positional
More informationGraphical User Interfaces 2
Graphical User Interfaces 2 CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011 Extending JFrame Dialog boxes Ge?ng user input Overview Displaying message or error Listening for
More informationOBJECT ORIENTED PROGRAMMING. Java GUI part 1 Loredana STANCIU Room B616
OBJECT ORIENTED PROGRAMMING Java GUI part 1 Loredana STANCIU loredana.stanciu@upt.ro Room B616 What is a user interface That part of a program that interacts with the user of the program: simple command-line
More informationComputer Programming Java AWT Lab 18
Computer Programming Java AWT Lab 18 엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University Copyrights 2015 DCSLab. All Rights Reserved Overview AWT Basic Use AWT AWT
More informationกล ม API ท ใช. Programming Graphical User Interface (GUI) Containers and Components 22/05/60
กล ม API ท ใช Programming Graphical User Interface (GUI) AWT (Abstract Windowing Toolkit) และ Swing. AWT ม ต งต งแต JDK 1.0. ส วนมากจะเล กใช และแทนท โดยr Swing components. Swing API ปร บปร งความสามารถเพ
More informationGraphical User Interfaces 2
Graphical User Interfaces 2 CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2014 2011 Extending JFrame Dialog boxes Overview Ge
More informationGraphical Interfaces
Weeks 9&11 Graphical Interfaces All the programs that you have created until now used a simple command line interface, which is not user friendly, so a Graphical User Interface (GUI) should be used. The
More informationGraphical Interfaces
Weeks 11&12 Graphical Interfaces All the programs that you have created until now used a simple command line interface, which is not user friendly, so a Graphical User Interface (GUI) should be used. The
More informationpublic void mouseexited (MouseEvent e) setminute(getminute()+increment); 11.2 public void mouseclicked (MouseEvent e) int x = e.getx(), y = e.gety();
11 The Jav aawt Part I: Mouse Events 11.1 public void mouseentered (MouseEvent e) setminute(getminute()+increment); 53 public void mouseexited (MouseEvent e) setminute(getminute()+increment); 11.2 public
More informationPreviously, we have seen GUI components, their relationships, containers, layout managers. Now we will see how to paint graphics on GUI components
CS112-Section2 Hakan Guldas Burcin Ozcan Meltem Kaya Muge Celiktas Notes of 6-8 May Graphics Previously, we have seen GUI components, their relationships, containers, layout managers. Now we will see how
More informationGUI Event Handlers (Part II)
GUI Event Handlers (Part II) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Listener
More informationGUI 4.1 GUI GUI MouseTest.java import javax.swing.*; import java.awt.*; import java.awt.event.*; /* 1 */
25 4 GUI GUI GUI 4.1 4.1.1 MouseTest.java /* 1 */ public class MouseTest extends JApplet implements MouseListener /* 2 */ { int x=50, y=20; addmouselistener(this); /* 3 */ super.paint(g); /* 4 */ g.drawstring("hello
More informationCSE 331 Software Design & Implementation
CSE 331 Software Design & Implementation Hal Perkins Spring 2017 GUI Event-Driven Programming 1 The plan User events and callbacks Event objects Event listeners Registering listeners to handle events Anonymous
More informationProgramming Mobile Devices J2SE GUI
Programming Mobile Devices J2SE GUI University of Innsbruck WS 2009/2010 thomas.strang@sti2.at Graphical User Interface (GUI) Why is there more than one Java GUI toolkit? AWT write once, test everywhere
More informationLecture 19 GUI Events
CSE 331 Software Design and Implementation Lecture 19 GUI Events The plan User events and callbacks Event objects Event listeners Registering listeners to handle events Anonymous inner classes Proper interaction
More informationG51PRG: Introduction to Programming Second semester Applets and graphics
G51PRG: Introduction to Programming Second semester Applets and graphics Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous two lectures AWT and Swing Creating components and putting
More informationPESIT Bangalore South Campus
INTERNAL ASSESSMENT TEST II Date : 20-09-2016 Max Marks: 50 Subject & Code: JAVA & J2EE (10IS752) Section : A & B Name of faculty: Sreenath M V Time : 8.30-10.00 AM Note: Answer all five questions 1) a)
More informationJava - Applications. The following code sets up an application with a drop down menu, as yet the menu does not do anything.
Java - Applications C&G Criteria: 5.3.2, 5.5.2, 5.5.3 Java applets require a web browser to run independently of the Java IDE. The Dos based console applications will run outside the IDE but have no access
More information3 Events and Listeners
COMP1406/1006 - Design and Implementation of Computer Applications W2006 3 Events and Listeners What's in This Set of Notes? Now that we know how to design the "look" of a window by placing components
More informationJava Event Handling -- 1
Java Event Handling -- 1 Event Handling Happens every time a user interacts with a user interface. For example, when a user pushes a button, or types a character. 2 A Typical Situation: Scrollbar AWTEvent
More informationJava for Interfaces and Networks (DT3010, HT10)
Java for Interfaces and Networks (DT3010, HT10) Mouse Events, Timers, Serialization Federico Pecora School of Science and Technology Örebro University federico.pecora@oru.se Federico Pecora Java for Interfaces
More informationCSE 143. Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT
CSE 143 Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/
More informationIPM 12/13 P4 Handling Events in AWT
IPM 12/13 P4 Handling Events in AWT Licenciatura em Ciência de Computadores Miguel Tavares Coimbra Why Events? Components need a way to: Receive messages. Send messages. Examples: A TextField needs to
More informationProgramming Languages and Techniques (CIS120e)
Programming Languages and Techniques (CIS120e) Lecture 29 Nov. 19, 2010 Swing I Event- driven programming Passive: ApplicaHon waits for an event to happen in the environment When an event occurs, the applicahon
More informationAP Computer Science Unit 13. Still More Graphics and Animation.
AP Computer Science Unit 13. Still More Graphics and Animation. In this unit you ll learn about the following: Mouse Motion Listener Suggestions for designing better graphical programs Simple game with
More informationUnit 7: Event driven programming
Faculty of Computer Science Programming Language 2 Object oriented design using JAVA Dr. Ayman Ezzat Email: ayman@fcih.net Web: www.fcih.net/ayman Unit 7: Event driven programming 1 1. Introduction 2.
More informationCS 251 Intermediate Programming GUIs: Event Listeners
CS 251 Intermediate Programming GUIs: Event Listeners Brooke Chenoweth University of New Mexico Fall 2017 What is an Event Listener? A small class that implements a particular listener interface. Listener
More informationCS211 GUI Dynamics. Announcements. Motivation/Overview. Example Revisted
CS211 GUI Dynamics Announcements Prelim 2 rooms: A-M are in Olin 155 N-A are in Olin 255 Final exam: final exam 5/17, 9-11:30am final review session (TBA, likely Sun 5/15) Consulting: regular consulting
More informationOutline. Topic 9: Swing. GUIs Up to now: line-by-line programs: computer displays text user types text AWT. A. Basics
Topic 9: Swing Outline Swing = Java's GUI library Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Assignment 7: Expand moving shapes from Assignment 4 into game. "Programming
More informationJava AWT Windows, Text, & Graphics
2 AWT Java AWT Windows, Text, & Graphics The Abstract Windows Toolkit (AWT) contains numerous classes and methods that allow you to create and manage applet windows and standard windows that run in a GUI
More informationVirtualians.ning.pk. 2 - Java program code is compiled into form called 1. Machine code 2. native Code 3. Byte Code (From Lectuer # 2) 4.
1 - What if the main method is declared as private? 1. The program does not compile 2. The program compiles but does not run 3. The program compiles and runs properly ( From Lectuer # 2) 4. The program
More informationCSE 331 Software Design and Implementation. Lecture 19 GUI Events
CSE 331 Software Design and Implementation Lecture 19 GUI Events Leah Perlmutter / Summer 2018 Announcements Announcements Quiz 7 due Thursday 8/9 Homework 8 due Thursday 8/9 HW8 has a regression testing
More informationCS 106A, Lecture 14 Events and Instance Variables
CS 106A, Lecture 14 Events and Instance Variables Reading: Art & Science of Java, Ch. 10.1-10.4 This document is copyright (C) Stanford Computer Science and Marty Stepp, licensed under Creative Commons
More informationGUI Design. Overview of Part 1 of the Course. Overview of Java GUI Programming
GUI Design Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu /~spring Overview of Part 1 of the Course Demystifying
More informationEvent Handling in JavaFX
Event Handling in JavaFX Event Driven Programming Graphics applications use events. An event dispatcher receives events and notifies interested objects. Event Listener Event EventQueue 1. ActionEvent 2.
More informationCS11 Java. Fall Lecture 3
CS11 Java Fall 2014-2015 Lecture 3 Today s Topics! Class inheritance! Abstract classes! Polymorphism! Introduction to Swing API and event-handling! Nested and inner classes Class Inheritance! A third of
More informationCourse: CMPT 101/104 E.100 Thursday, November 23, 2000
Course: CMPT 101/104 E.100 Thursday, November 23, 2000 Lecture Overview: Week 12 Announcements Assignment 6 Expectations Understand Events and the Java Event Model Event Handlers Get mouse and text input
More informationCheng, CSE870. More Frameworks. Overview. Recap on OOP. Acknowledgements:
More Frameworks Acknowledgements: K. Stirewalt. Johnson, B. Foote Johnson, Fayad, Schmidt Overview eview of object-oriented programming (OOP) principles. Intro to OO frameworks: o Key characteristics.
More informationTable of Contents. Chapter 1 Getting Started with Java SE 7 1. Chapter 2 Exploring Class Members in Java 15. iii. Introduction of Java SE 7...
Table of Contents Chapter 1 Getting Started with Java SE 7 1 Introduction of Java SE 7... 2 Exploring the Features of Java... 3 Exploring Features of Java SE 7... 4 Introducing Java Environment... 5 Explaining
More informationJAVA. Object Oriented Programming with. M.T. Somashekara D.S.Guru K.S. Manjunatha
PH IL ea rn in g C op yr ig ht ed JAVA M at er ia l Object Oriented Programming with M.T. Somashekara D.S.Guru K.S. Manjunatha Object Oriented Programming with JAVA M.T. SOMASHEKARA Department of Computer
More informationInheritance. One class inherits from another if it describes a specialized subset of objects Terminology:
Inheritance 1 Inheritance One class inherits from another if it describes a specialized subset of objects Terminology: the class that inherits is called a child class or subclass the class that is inherited
More informationCome & Join Us at VUSTUDENTS.net
Come & Join Us at VUSTUDENTS.net For Assignment Solution, GDB, Online Quizzes, Helping Study material, Past Solved Papers, Solved MCQs, Current Papers, E-Books & more. Go to http://www.vustudents.net and
More informationMIT AITI Swing Event Model Lecture 17
MIT AITI 2004 Swing Event Model Lecture 17 The Java Event Model In the last lecture, we learned how to construct a GUI to present information to the user. But how do GUIs interact with users? How do applications
More informationCSE 331. Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT
CSE 331 Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/
More informationEvents. Dispatch, event-to-code binding. Review: Events Defined 1/17/2014. occurrence.
Events Dispatch, event-to-code binding Review: Events Defined 1. An observable occurrence, phenomenon, or an extraordinary occurrence. 2. A message to notify an application that something happened. Examples:
More informationCS 106A, Lecture 14 Events and Instance Variables
CS 106A, Lecture 14 Events and Instance Variables Reading: Art & Science of Java, Ch. 10.1-10.4 This document is copyright (C) Stanford Computer Science and Marty Stepp, licensed under Creative Commons
More informationCSA 1019 Imperative and OO Programming
CSA 1019 Imperative and OO Programming GUI and Event Handling Mr. Charlie Abela Dept. of of Artificial Intelligence Objectives Getting familiar with UI UI features MVC view swing package layout managers
More informationJava: Graphical User Interfaces (GUI)
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, and Bertrand Meyer Java: Graphical User Interfaces (GUI) With material from Christoph Angerer The essence of the Java Graphics API Application
More informationECE 462 Object-Oriented Programming using C++ and Java. Key Inputs in Java Games
ECE 462 Object-Oriented Programming g using C++ and Java Key Inputs in Java Games Yung-Hsiang Lu yunglu@purdue.edu d YHL Java Key Input 1 Handle Key Events have the focus of the keyboard inputs by calling
More information14.2 Java s New Nimbus Look-and-Feel 551 Sample GUI: The SwingSet3 Demo Application As an example of a GUI, consider Fig. 14.1, which shows the SwingS
550 Chapter 14 GUI Components: Part 1 14.1 Introduction 14.2 Java s New Nimbus Look-and-Feel 14.3 Simple GUI-Based Input/Output with JOptionPane 14.4 Overview of Swing Components 14.5 Displaying Text and
More informationEvent driven Programming
Event driven Programming 1 Events GUIs are event driven Components can wait idly for something to happen - an event A button may wait to be pressed A checkbox may wait to be checked An event is a user
More informationuser-friendly and easy to use.
Java Graphic User Interface GUI Basic Dr. Umaporn Supasitthimethee Computer Programming II -2- Java GUI A graphical user interface (GUI) makes a system user-friendly and easy to use. Creating a GUI requires
More informationProgrammierpraktikum
Programmierpraktikum Claudius Gros, SS2012 Institut für theoretische Physik Goethe-University Frankfurt a.m. 1 of 18 17/01/13 11:46 Java Applets 2 of 18 17/01/13 11:46 Java applets embedding Java applications
More informationMarcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science
Marcin Luckner Warsaw University of Technology Faculty of Mathematics and Information Science mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm } Abstract Window Toolkit Delegates creation and
More informationJava GUI Design: the Basics
Java GUI Design: the Basics Daniel Brady July 25, 2014 What is a GUI? A GUI is a graphical user interface, of course. What is a graphical user interface? A graphical user interface is simply a visual way
More informationJava Mouse Actions. C&G criteria: 5.2.1, 5.4.1, 5.4.2,
Java Mouse Actions C&G criteria: 5.2.1, 5.4.1, 5.4.2, 5.6.2. The events so far have depended on creating Objects and detecting when they receive the event. The position of the mouse on the screen can also
More informationJava. GUI building with the AWT
Java GUI building with the AWT AWT (Abstract Window Toolkit) Present in all Java implementations Described in most Java textbooks Adequate for many applications Uses the controls defined by your OS therefore
More informationGUI Software Architecture
GUI Software Architecture P2: Requirements Analysis User Analysis Task Analysis Problem Scenarios Usability Criteria Scenario Your engineers just developed a new desktop computer. They give you the following
More informationCS 201 Advanced Object-Oriented Programming Lab 10 - Recursion Due: April 21/22, 11:30 PM
CS 201 Advanced Object-Oriented Programming Lab 10 - Recursion Due: April 21/22, 11:30 PM Introduction to the Assignment In this assignment, you will get practice with recursion. There are three parts
More informationCPS122 Lecture: Graphical User Interfaces and Event-Driven Programming
CPS122 Lecture: Graphical User Interfaces and Event-Driven Programming Objectives: Last revised 1/15/10 1. To introduce the notion of a component and some basic Swing components (JLabel, JTextField, JTextArea,
More informationOverloading Example. Overloading. When to Overload. Overloading Example (cont'd) (class Point continued.)
Overloading Each method has a signature: its name together with the number and types of its parameters Methods Signatures String tostring() () void move(int dx,int dy) (int,int) void paint(graphicsg) (Graphics)
More informationCourse Status Networking GUI Wrap-up. CS Java. Introduction to Java. Andy Mroczkowski
CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University March 10, 2008 / Lecture 8 Outline Course Status Course Information & Schedule
More information1 GUI GUI GUI GUI GUI. GUI(Graphical User Interface) JDK java.awt. ? Component
99 6 1999.10.13 0 GUI GUI JDK 1.1 GUI 1 GUI GUI GUI(Graphical User Interface) GUI (GUI ) / ( GUI ) Java GUI JDK 1.1 1.2 1.2 Swing 1.1 java.awt GUI? Component setbounds(int, int, int, int) (x,y) setforeground(color)
More informationCHAPTER 2. Java Overview
Networks and Internet Programming (0907522) CHAPTER 2 Java Overview Instructor: Dr. Khalid A. Darabkh Objectives The objectives of this chapter are: To discuss the classes present in the java.awt package
More informationUser interfaces and Swing
User interfaces and Swing Overview, applets, drawing, action listening, layout managers. APIs: java.awt.*, javax.swing.*, classes names start with a J. Java Lectures 1 2 Applets public class Simple extends
More informationCSIS 10A Assignment 14 SOLUTIONS
CSIS 10A Assignment 14 SOLUTIONS Read: Chapter 14 Choose and complete any 10 points from the problems below, which are all included in the download file on the website. Use BlueJ to complete the assignment,
More information