GUI Event Handlers (Part I)
|
|
- Geoffrey Richards
- 6 years ago
- Views:
Transcription
1 GUI Event Handlers (Part I) Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew Department of Computer Engineering Khon Kaen University 1
2 Agenda General event handling strategy Handling events with separate listeners Handling events by implementing interfaces Handling events with named inner classes Handling events with anonymous inner classes How to Write an Action Listener How to Write an Item Listener How to Write a Component Listener 2
3 GUIs and Event driven The structure of containers and components sets up the physical appearance of a GUI But it doesn t say anything about how the GUI behaves. What can the user do to the GUI and how will it respond? GUIs are largely event driven The program waits for events that are generated by the user s actions (or by some other cause) 3
4 Event Listeners When an event occurs, the program responds by executing an event handling method In order to program the behavior of a GUI, you have to write event handling methods to respond to the events that you are interested in The most common technique for handling events in Java is to use event listeners 4
5 A Listener A listener is an object that includes one or more event handling methods When an event is detected by another object, such as a button or menu, the listener object is notified and it responds by running the appropriate event handling method An event is detected or generated by an object The event itself is actually represented by a third object Another object, the listener, has the responsibility of 5 responding to the event
6 Components, Events, Listeners 2. Notify listener event click OK button 1. Detect/Generate event component listener ButtonHandler 0. Register 3. Perform some action (i.e, terminate the program) OK button 6
7 Example: Events and Listeners When the user clicks the OK button, an event is generated This event is represented by an object belonging to the class ActionEvent The event that is generated is associated with the button; we say that the button is the source of the event The listener object in this case is an object belonging to the class ButtonHandler, which is defined as a nested class inside 7 HelloWorldGUI3
8 ButtonHandler Demo private static class ButtonHandler implements ActionListener { public void actionperformed(actionevent e) { System.exit(0); } } public static void main(string[] args) {... ButtonHandler listener = new ButtonHandler(); // create listener object okbutton.addactionlistener(listener); // regiter.. } 8
9 General Strategy Determine what type of listener is of interest ActionListener, AdjustmentListener, etc. Define a class of that types Implement interface (KeyListener, etc.) Extend class (KeyAdapter, etc.) Register an object of your listener class with the window w.addxxxlistener(new MyListenerClass()); E.g., addkeylistener, addmouselistener 9
10 Handling Events with a Separate Listener: Simple Case Listener does not need to call any methods of the window to which it is attached 10
11 Separate Listener: Simple Case 11
12 Generalizing Simple Case What if ClickListener wants to draw a circle wherever mouse is clicked? Why can't it just call getgraphics to get a Graphics object with which to draw? General solution: Call event.getsource to obtain a reference to window or GUI component from which event is originated Cast result to type of interest Call methods on that reference 12
13 Handling Events with Separate Listener: General Case 13
14 Case 2: Implementing a Listener Interface 14
15 Adapters vs. Interfaces: Method Signature Errors What if you goof on the method signature? public void mousepressed(mouseevent e) public void mousepressed() Interfaces Compile time error Adapters No compile time error, but nothing happens at run time when you press the mouse Solution 15
16 Solution for adapters (and overriding in Java 5 in annotation Whenever you think you are overriding a method, put "@Override" on the line above the start of the method. If that method is not actually overriding an inherited method, you get a compile time error. 16
17 Example 17
18 Case 3: Named Inner Classes 18
19 Case 4: Anonymous Inner Classes 19
20 Event Handling Strategies: Pros and Cons Separate Listener (Case 1) Advantages Can extend adapter and thus ignore unused methods Separate class easier to manage Disadvantage 20 Need extra step to call methods in main window
21 Event Handling Strategies: Pros and Cons Main window that implements interface (Case 2) Advantage No extra steps needed to call methods in main window Disadvantage Must implement methods you might not care about 21
22 Event Handling Strategies: Pros and Cons Named inner class (Case 3) 22
23 Event Handling Strategies: Pros and Cons Named inner class (Case 3) Advantages Can extend adapter and thus ignore unused methods No extra steps needed to call methods in main window Disadvantage A bit harder to understand 23
24 Event Handling Strategies: Pros and Cons Anonymous inner class (Case 4) 24
25 Event Handling Strategies: Pros and Cons Anonymous inner class (Case 4) Advantages Same as named inner classes Even shorter Disadvantage Much harder to understand 25
26 Standard AWT Event Listeners 26
27 Getting Event Information: Event Objects Every event listener method has a single argument An object that inherits from the EventObject class The EventObject class defines one very useful method: Object getsource() Returns the object that fired the event You can query a MouseEvent object for information about where the event occurred, how many clicks the user made, which modifier keys were pressed, etc 27
28 Concepts: Low Level Events and Semantic Events Events can be divided into two groups: low level events and semantic events Low level events represent window system occurrences or low level input Examples: mouse and key events Everything else is a semantic event Examples: action and item events 28
29 Semantic Events are Preferable Whenever possible, you should listen for semantic events rather than low level event That way, you can make your code as robust and portable as possible Example: Listening for action events on buttons, rather than mouse events The button will react appropriately when the user tries to activate the button using a keyboard alternative or a look and feel specific gesture 29
30 Event Adapters To help you avoid implementing empty method bodies in the class that implements interface listener Java API generally includes an adapter class for each listener interface with more than one method Example: MouseAdapter which you can extend instead of implementing MouseListener 30
31 Inner Classes and Anonymous Inner Classes What if you want to use an adapter class, but do not want your public class to inherit from an adapter class? For example, suppose you write an applet, and you want your Applet subclass to contain some code to handle mouse events Since the Java language does not permit multiple inheritance, your class cannot extend both the Applet and MouseAdapter classes 31
32 Inner Classes and Anonymous Inner Classes A solution is to define an inner class A class inside of your Applet subclass A class that extends the MouseAdapter class Inner classes can also be useful for event listeners that implement one or more interfaces directly The more classes you create, the longer your program takes to start up and the more memory it will take 32
33 Listeners Supported by Swing Components component listener focus listener Listens for changes in the component's size, position, or visibility Listens for whether the component gained or lost the keyboard focus key listener Listens for key presses; key events are fired only by the component that has the current keyboard focus. 33
34 Listeners Supported by Swing Components mouse listener mouse motion listener Listens for mouse clicks, mouse presses, mouse releases and mouse movement into or out of the component's drawing area. Listens for changes in the mouse cursor's position over the component. mouse wheel listener Listens for mouse wheel movement over the component. 34
35 Listeners Codes Examples How to write an action listener How to write an item listener How to write a component listener 35
36 How to Write an Action Listener Action listeners are probably the easiest and most common event handlers to implement You implement an action listener to define what should be done when an user performs certain operation. An action event occurs, whenever an action is performed by the user Examples When the user clicks a button, chooses a menu36 item, and presses Enter in a text field
37 Steps for Implementing Action Listener 1. Declare an event handler class and specify that the class either implements an ActionListener interface or extends a class that implements an ActionListener interface. 2. Register an instance of the event handler class as a listener on one or more components. public class MyClass implements ActionListener { somecomponent.addactionlistener(instanceofmyclass); 3. Include code that implements the methods in listener interface. public void actionperformed(actionevent e) {...//code that reacts to the action... } 37
38 ActionListenerDemo (1/2) 38
39 ActionListenerDemo (2/2) 39
40 Create a GUI Class for Reuse Create the GUI class as a subclass of JFrame Declare instance methods Can use all methods of JFrame Each object or each class instance than can have its own version of method. Declare attributes in the class scope not in the method scope In main method Create the object of that GUI class 40
41 JTextFieldDemoV2 (1/2) 41
42 JTextFieldDemoV2 (2/2) 42
43 A Similar But Larger Form Want to add the label and text field for lastname Want to add the label and text for for Want to add the button Cancel Thus, develop JTextFieldDemoV3 which is the subclass of JTextFieldDemoV2 Override methods in JTextFieldDemoV2 to add more components 43
44 JTextFieldDemoV3 (1/2) 44
45 JTextFieldDemoV3 (2/2) 45
46 JTextFieldDemoV4 Introduction Want to add action in GUI Make the class implement a listener, such as ActionListener Implement all required methods in the listener, such as need to implement public void actionperformed(actionevent e) {} in the class that imeplements ActionListener Register the listener to be notified when the component fires an event Example: submitbutton.addactionlistener(this) 46
47 JTextFieldDemoV4 47
48 Methods in JTextComponent String txtcomp.gettext(); returns the string value of the text component void comp.settext(string s); sets the string value of the text component void comp.setcaretposition(int position); sets the caret appears at the specified position Caret is the cursor indicating the insertion point in a text component 48
49 JTextAreaDemoV2 49
50 JTextAreaDemoV3 50
51 JTextAreaDemoV3 Output 51
52 How to Write an Item Listener Item events are fired by components that implement the ItemSelectable interface Generally, ItemSelectable components maintain on/off state for one or more items The Swing components that fire item events include buttons like check boxes, check menu items, toggle buttons etc...and combo boxes 52
53 ItemListener API void itemstatechanged(itemevent e) Invoked when an item has been selected or deselected by the user The code written for this method performs the operations that need to occur when an item is selected (or deselected) 53
54 ItemEvent Class Object getitem() Returns the component specific object associated with the item whose state changed Often this is a String containing the text on the selected item ItemSelectable getitemselectable() Returns the component that fired the item event. You can use this instead of the getsource method. 54
55 ItemEvent Class int getstatechange() Returns the new state of the item The ItemEvent class defines two states: SELECTED and DESELECTED 55
56 JCheckBoxDemoV2 56
57 JCheckBoxDemoV3 (1/2) 57
58 JCheckBoxDemoV3 (2/2) 58
59 JCheckBoxDemoV3 Output 59
60 Enabling Keyboard Operation Menus support two kinds of keyboard alternatives: mnemonics and accelerators Mnemonics offer a way to use the keyboard to navigate the menu hierarchy, increasing the accessibility of programs Accelerators, on the other hand, offer keyboard shortcuts to bypass navigating the menu hierarchy Mnemonics are for all users; accelerators are for power users. 60
61 A mnemonic A mnemonic is a key that makes an already visible menu item be chosen A menu item generally displays its mnemonic by underlining the first occurrence of the mnemonic character in the menu item's text You can specify a mnemonic either when constructing the menu item or with the setmnemonic method openmenuitem.setmnemonic(keyevent.vk_o); 61
62 An accelerator An accelerator is a key combination that causes a menu item to be chosen, whether or not it's visible To specify an accelerator, use the setaccelerator method openmenuitem.setaccelerator(keystroke.getkeystr oke(keyevent.vk_o, ActionEvent.CTRL_MASK)); 62
63 JMenuLookDemoV2 (1/3) 63
64 JMenuLookDemoV2 (2/3) 64
65 JMenuLookDemoV3 (1/3) 65
66 JMenuLookDemoV3 (2/3) 66
67 JMenuLookDemoV3 (3/3) 67
68 Setting mnemonic keys Using setmnemonic method and register action listener Use mnemonic key sequences as ALT F and O to access the menu item menu.setmnemonic(keyevent.vk_f); menu.addactionlistener(this); openmenuitem.setmnemonic(keyevent.vk_o); openmenuitem.addactionlistener(this); menu.add(openmenuitem); 68
69 Setting accelerator key Using setaccelerator method and add action listener to the menu item if it has not been added yet Use Ctrl O to use this menu ite openmenuitem.setaccelerator(keystroke.getkeystr oke(keyevent.vk_o, ActionEvent.CTRL_MASK)); 69
70 Handling Radio or CheckBox Menus Register ItemListener with the menuitem rb1.additemlistener(this); Implement method itemstatechanged(itemevent e) JMenuItem source = (JMenuItem) e.getsource(); if (e.getstatechange() == ItemEvent.SELECTED) { String s = "Your file type is " + source.gettext(); output.append(s + newline); output.setcaretposition( output.getdocument().getlength()); 70
71 How to Write a Component Listener The Component listener is a listener interface for receiving component events A component is an object having a graphical representation that can be displayed on the screen and that can interact with the user Some of the examples of components are the buttons, checkboxes, and scrollbars of a typical graphical user interface. 71
72 The Listener Object The class that is interested in processing a component event either Implements the component listener interface and all the methods it contains or Extends the abstract ComponentAdapter class overriding only the methods of interest The listener object created from that class is then registered with a component using the component's addcomponentlistener method. 72
73 Component Events When the component's size, location, or visibility changes, the relevant method in the listener object is invoked, and the ComponentEvent is passed to it One or more component events are fired by a Component object just after the component is hidden, made visible, moved, or resized The component hidden and component shown events occur only as the result of calls to a 73 Component 's setvisible method
74 Steps in Writing a simple Component listener (1/2) Declare a class which implements Component listener Identify the components that you would like to catch the events for. public class ComponentEventDemo... implements ComponentListener pane, label, checkbox, etc. Add the Component Listener to the identified components label.addcomponentlistener(this); 74
75 Steps in Writing a simple Component listener (2/2) Catch the different events of these components by using four methods of Component Listener public void componenthidden(componentevent e) { } public void componentmoved(componentevent e) {} public void componentresized(componentevent e) {} public void componentshown(componentevent e) {} 75
76 EventComponentDemo (1/3) 76
77 EventComponentDemo (2/3) 77
78 EventComponentDemo (3/3) 78
79 References David J. Eck, Introduction to Programming Using Java, Version 5.0, December Sun, Writing Event Listeners, events/index.html 79
GUI 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 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 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 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 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 informationThe AWT Event Model 9
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
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 informationThe JFrame Class Frame Windows GRAPHICAL USER INTERFACES. Five steps to displaying a frame: 1) Construct an object of the JFrame class
CHAPTER GRAPHICAL USER INTERFACES 10 Slides by Donald W. Smith TechNeTrain.com Final Draft 10/30/11 10.1 Frame Windows Java provides classes to create graphical applications that can run on any major graphical
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 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 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 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 informationPROGRAMMING DESIGN USING JAVA (ITT 303) Unit 7
PROGRAMMING DESIGN USING JAVA (ITT 303) Graphical User Interface Unit 7 Learning Objectives At the end of this unit students should be able to: Build graphical user interfaces Create and manipulate buttons,
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 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 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 informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
More informationFrames, GUI and events. Introduction to Swing Structure of Frame based applications Graphical User Interface (GUI) Events and event handling
Frames, GUI and events Introduction to Swing Structure of Frame based applications Graphical User Interface (GUI) Events and event handling Introduction to Swing The Java AWT (Abstract Window Toolkit)
More informationAdvanced Computer Programming
Programming in the Large I: Methods (Subroutines) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University
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 information12/22/11. Copyright by Pearson Education, Inc. All Rights Reserved.
} Radio buttons (declared with class JRadioButton) are similar to checkboxes in that they have two states selected and not selected (also called deselected). } Radio buttons normally appear as a group
More informationProgramming in the Large II: Objects and Classes (Part 2)
Programming in the Large II: Objects and Classes (Part 2) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen
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 informationClass 16: The Swing Event Model
Introduction to Computation and Problem Solving Class 16: The Swing Event Model Prof. Steven R. Lerman and Dr. V. Judson Harward 1 The Java Event Model Up until now, we have focused on GUI's to present
More informationIntroduction to GUIs. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2014
Introduction to GUIs Principles of Software Construction: Objects, Design, and Concurrency Jonathan Aldrich and Charlie Garrod Fall 2014 Slides copyright 2014 by Jonathan Aldrich, Charlie Garrod, Christian
More informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
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 informationProgramming in the Small II: Control
Programming in the Small II: Control 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University Agenda Selection
More informationBlock I Unit 2. Basic Constructs in Java. AOU Beirut Computer Science M301 Block I, unit 2 1
Block I Unit 2 Basic Constructs in Java M301 Block I, unit 2 1 Developing a Simple Java Program Objectives: Create a simple object using a constructor. Create and display a window frame. Paint a message
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 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 informationGUI Components: Part 1
1 2 11 GUI Components: Part 1 Do you think I can listen all day to such stuff? Lewis Carroll Even a minor event in the life of a child is an event of that child s world and thus a world event. Gaston Bachelard
More informationGraphical User Interface (Part-1) Supplementary Material for CPSC 233
Graphical User Interface (Part-1) Supplementary Material for CPSC 233 Introduction to Swing A GUI (graphical user interface) is a windowing system that interacts with the user The Java AWT (Abstract Window
More informationTopic 9: Swing. Swing is a BIG library Goal: cover basics give you concepts & tools for learning more
Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Assignment 5: Will be an open-ended Swing project. "Programming Contest"
More informationTopic 9: Swing. Why are we studying Swing? GUIs Up to now: line-by-line programs: computer displays text user types text. Outline. 1. Useful & fun!
Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Why are we studying Swing? 1. Useful & fun! 2. Good application of OOP techniques
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 informationAdvanced Computer Programming
Programming in the Small I: Names and Things (Part II) 188230 Advanced Computer Programming Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University
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 informationCompSci 125 Lecture 17. GUI: Graphics, Check Boxes, Radio Buttons
CompSci 125 Lecture 17 GUI: Graphics, Check Boxes, Radio Buttons Announcements GUI Review Review: Inheritance Subclass is a Parent class Includes parent s features May Extend May Modify extends! Parent
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 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 informationGUI 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 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 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 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 informationStarting Out with Java: From Control Structures Through Objects Sixth Edition
Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 12 A First Look at GUI Applications Chapter Topics 12.1 Introduction 12.2 Creating Windows 12.3 Equipping GUI Classes
More informationCONTENTS. Chapter 1 Getting Started with Java SE 6 1. Chapter 2 Exploring Variables, Data Types, Operators and Arrays 13
CONTENTS Chapter 1 Getting Started with Java SE 6 1 Introduction of Java SE 6... 3 Desktop Improvements... 3 Core Improvements... 4 Getting and Installing Java... 5 A Simple Java Program... 10 Compiling
More informationCS11 Java. Fall Lecture 4
CS11 Java Fall 2006-2007 Lecture 4 Today s Topics Interfaces The Swing API Event Handlers Inner Classes Arrays Java Interfaces Classes can only have one parent class No multiple inheritance in Java! By
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 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 informationGraphical User Interfaces. Comp 152
Graphical User Interfaces Comp 152 Procedural programming Execute line of code at a time Allowing for selection and repetition Call one function and then another. Can trace program execution on paper from
More information2. (True/False) All methods in an interface must be declared public.
Object and Classes 1. Create a class Rectangle that represents a rectangular region of the plane. A rectangle should be described using four integers: two represent the coordinates of the upper left corner
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 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 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 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 informationLecture 9. Lecture
Layout Components MVC Design PaCern GUI Programming Observer Design PaCern D0010E Lecture 8 - Håkan Jonsson 1 Lecture 8 - Håkan Jonsson 2 Lecture 8 - Håkan Jonsson 3 1 1. GUI programming In the beginning,
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 informationModule 5 The Applet Class, Swings. OOC 4 th Sem, B Div Prof. Mouna M. Naravani
Module 5 The Applet Class, Swings OOC 4 th Sem, B Div 2016-17 Prof. Mouna M. Naravani The layout manager helps lay out the components held by this container. When you set a layout to null, you tell the
More informationWidgets. Overview. Widget. Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo
Widgets Overview Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo Widget Widget is a generic name for parts of an interface that have their own behavior: buttons, progress
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 informationWidgets. Widgets Widget Toolkits. 2.3 Widgets 1
Widgets Widgets Widget Toolkits 2.3 Widgets 1 User Interface Widget Widget is a generic name for parts of an interface that have their own behavior: buttons, drop-down menus, spinners, file dialog boxes,
More informationJonathan Aldrich Charlie Garrod
Principles of Software Construction: Objects, Design, and Concurrency (Part 3: Design Case Studies) Introduction to GUIs Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework
More informationCS111: PROGRAMMING LANGUAGE II
CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 10(b): Working with Controls Agenda 2 Case study: TextFields and Labels Combo Boxes buttons List manipulation Radio buttons and checkboxes
More informationWindow Interfaces Using Swing Objects
Chapter 12 Window Interfaces Using Swing Objects Event-Driven Programming and GUIs Swing Basics and a Simple Demo Program Layout Managers Buttons and Action Listeners Container Classes Text I/O for GUIs
More informationChapter 6: Graphical User Interfaces
Chapter 6: Graphical User Interfaces CS 121 Department of Computer Science College of Engineering Boise State University April 21, 2015 Chapter 6: Graphical User Interfaces CS 121 1 / 36 Chapter 6 Topics
More informationWindow Interfaces Using Swing Objects
Chapter 12 Window Interfaces Using Swing Objects Event-Driven Programming and GUIs Swing Basics and a Simple Demo Program Layout Managers Buttons and Action Listeners Container Classes Text I/O for GUIs
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 informationWidget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down
Widgets Jeff Avery Widget Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down menus, spinners, file dialog boxes, etc are
More informationChapter 12 Advanced GUIs and Graphics
Chapter 12 Advanced GUIs and Graphics Chapter Objectives Learn about applets Explore the class Graphics Learn about the classfont Explore the classcolor Java Programming: From Problem Analysis to Program
More informationIntroduction to the JAVA UI classes Advanced HCI IAT351
Introduction to the JAVA UI classes Advanced HCI IAT351 Week 3 Lecture 1 17.09.2012 Lyn Bartram lyn@sfu.ca About JFC and Swing JFC Java TM Foundation Classes Encompass a group of features for constructing
More information7. Program Frameworks
7. Program Frameworks Overview: 7.1 Introduction to program frameworks 7.2 Program frameworks for User Interfaces: - Architectural properties of GUIs - Abstract Window Toolkit of Java Many software systems
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 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 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 112 Programming 2. Lecture 14. Event-Driven Programming & Animations (1) Chapter 15 Event-Driven Programming and Animations
CS 112 Programming 2 Lecture 14 Event-Driven Programming & Animations (1) Chapter 15 Event-Driven Programming and Animations rights reserved. 2 Motivations Suppose you want to write a GUI program that
More information8. Polymorphism and Inheritance
8. Polymorphism and Inheritance Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1 Objectives Describe polymorphism and inheritance in general Define interfaces
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 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 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 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 informationPIC 20A GUI with swing
PIC 20A GUI with swing Ernest Ryu UCLA Mathematics Last edited: November 22, 2017 Hello swing Let s create a JFrame. import javax. swing.*; public class Test { public static void main ( String [] args
More informationSwing from A to Z Some Simple Components. Preface
By Richard G. Baldwin baldwin.richard@iname.com Java Programming, Lecture Notes # 1005 July 31, 2000 Swing from A to Z Some Simple Components Preface Introduction Sample Program Interesting Code Fragments
More informationAP CS Unit 11: Graphics and Events
AP CS Unit 11: Graphics and Events This packet shows how to create programs with a graphical interface in a way that is consistent with the approach used in the Elevens program. Copy the following two
More informationThis page intentionally left blank
This page intentionally left blank arting Out with Java: From Control Structures through Objects International Edition - PDF - PDF - PDF Cover Contents Preface Chapter 1 Introduction to Computers and Java
More informationLecture 3: Java Graphics & Events
Lecture 3: Java Graphics & Events CS 62 Fall 2017 Kim Bruce & Alexandra Papoutsaki Text Input Scanner class Constructor: myscanner = new Scanner(System.in); can use file instead of System.in new Scanner(new
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 informationCS 11 java track: lecture 3
CS 11 java track: lecture 3 This week: documentation (javadoc) exception handling more on object-oriented programming (OOP) inheritance and polymorphism abstract classes and interfaces graphical user interfaces
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 32 April 9, 2018 Swing I: Drawing and Event Handling Chapter 29 HW8: Spellchecker Available on the web site Due: Tuesday! Announcements Parsing, working
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 informationCSE115 / CSE503 Introduction to Computer Science I. Dr. Carl Alphonce 343 Davis Hall Office hours:
CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Thursday 12:00 PM 2:00 PM Friday 8:30 AM 10:30 AM OR request appointment via e-mail
More informationWidget Toolkits CS MVC
Widget Toolkits 1 CS349 -- MVC Widget toolkits Also called widget libraries or GUI toolkits or GUI APIs Software bundled with a window manager, operating system, development language, hardware platform
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 information(Incomplete) History of GUIs
CMSC 433 Programming Language Technologies and Paradigms Spring 2004 Graphical User Interfaces April 20, 2004 (Incomplete) History of GUIs 1973: Xerox Alto 3-button mouse, bit-mapped display, windows 1981:
More informationEVENTS, EVENT SOURCES AND LISTENERS
Java Programming EVENT HANDLING Arash Habibi Lashkari Ph.D. Candidate of UTM University Kuala Lumpur, Malaysia All Rights Reserved 2010, www.ahlashkari.com EVENTS, EVENT SOURCES AND LISTENERS Important
More informationJava & Graphical User Interface II. Wang Yang wyang AT njnet.edu.cn
Java & Graphical User Interface II Wang Yang wyang AT njnet.edu.cn Outline Review of GUI (first part) What is Event Basic Elements of Event Programming Secret Weapon - Inner Class Full version of Event
More informationGraphics programming. COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson)
Graphics programming COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson) Overview Aims To provide an overview of Swing and the AWT To show how to build
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 informationHandout 14 Graphical User Interface (GUI) with Swing, Event Handling
Handout 12 CS603 Object-Oriented Programming Fall 15 Page 1 of 12 Handout 14 Graphical User Interface (GUI) with Swing, Event Handling The Swing library (javax.swing.*) Contains classes that implement
More information