CS415 Human Computer Interaction
|
|
- Hilary Jenkins
- 5 years ago
- Views:
Transcription
1 CS415 Human Computer Interaction Lecture 3 WIMP HCI (GUI Builders Part-2) September 7, 2018 Sam Siewert
2 Recall - GUI Layout & Code-Gen or VHLLs for GUI Build Method #1 Compiled Programming Language (e.g. C/C++) and Widget Libraries (e.g. X-windows Gnome, KDE, etc. or Windows) Advantages Compiled for Efficiency, Security, Proprietary IP Protection (Stripped Binaries) Disadvantages Less Interactive Development: Layout, Generate code, Compile, Test, Repeat Method #2 Interpreted Very High Level Language (e.g. Java, Python, C# (both with Common Language Infrastructure)) Advantages Interpreted for Quick Test as you Code (Agile), Rapid Prototyping, Portability Disadvantages Security Risks in Runtime (Java Virtual Machine, CLI) Sam Siewert 2
3 Installed on SE Workstation (use instructions) GUI Builder Run with qtcreator (/usr/bin/qtcreator) Qt Creator View tutorials on QtCreator QtCreator for C++ [Part-1, Part-2, Part-3, Part-4, Part-5, Part-6, Part-7, Part-8] Sam Siewert 3
4 Python VHLL GUI Example Python has Two Major Versions 2.x and 3.x Language re-design with 3.x for better OOP Older 2.x is Somewhat OOP and Still Popular Download Python Interpreter for Windows, Mac OS-X, Linux, etc. Bound to Tk from Ancient TCL/Tk Environment for Building GUIs for Test Automation and Verification (ASIC Simulation) and Graphics/Computer-Vision Nice Rapid Prototyping Environment Examples (GeeksforGeeks calculator, TechInfected, TeamPython) Python tutorials - Python using Tk [Part-1, Part-2] Sam Siewert 4
5 Python - VHLL Use the IDLE Editor, CLI, or PyCharm Yes, this is a Reference to Monty Python Python CLI PRClab I used with a ASIC ARM SoC Design Group to Create an Interface for our ILA Python IDLE IDE 1/6 th Monty Python Comedy Group Sam Siewert 5
6 Python PyCharm IDE File.py is a TEXT file Use any Editor For IDE, use IDLE or PyCharm File.pyc is byte-code compiled Python 3.x For 2.x code, use File-Settings-Project-Interpreter and modify (note that we may not have 2.x packages) CLI, IDLE and PyCharm are installed in Standard Image on Campus for 2.x and 3.x PyCharm GUI Overview Sam Siewert 6
7 Java OOP Java Calculator Example Main program container class CalculatorGui class Public and Private classes and methods Sam Siewert 7
8 Java Calculator Walkthrough and Demo Import of Java Swing GUI Widget set Instantiation of Calculator GUI Main window configuration and realization import javax.swing.*; import java.awt.*; import java.awt.event.*; Main widget construction public class SwingCalculator { public static void main(string[] args) { CalculatorGui cg = new CalculatorGui(); Main widget configuration } } cg.setsize(250,400); cg.setresizable(false); cg.setdefaultcloseoperation(jframe.exit_on_close); cg.setvisible(true); Main widget realization Sam Siewert 8
9 import javax.swing.*; import java.awt.*; import java.awt.event.*; Deeper Dive public class CalcTemplateGui extends JFrame { JFrame frame = new JFrame("My Simple Calculator"); JTextField answerfield; JButton add, sub, div, mul, equals; JButton one, two, three, four, five, six, seven, eight, nine, zero; JPanel contentpanel; String stemp1=""; // CalculatorGui default constructor - super long constructor public CalcTemplateGui() { super("my Simple Calculator"); } private class Operations implements ActionListener { public void actionperformed(actionevent event) { JButton src = (JButton) event.getsource(); } } private class ArgumentEnter implements ActionListener { public void actionperformed(actionevent event) { JButton src = (JButton) event.getsource(); Event handler Classes for specific Active widgets 0-9 Digits and Arithmetic Operators } } } Sam Siewert 9
10 Connecting Buttons to Event Handlers Instantiate Handler Classes for Button Types Add Action Listener Using Swing Implement Handler Class and Detect Source // layout with specific dimension for each button one.setpreferredsize(dim); two.setpreferredsize(dim); div.setpreferredsize(dim); mul.setpreferredsize(dim); equals.setpreferredsize(dim); // create a private class to handle events detected by an action listener Operations op = new Operations(); ArgumentEnter arg = new ArgumentEnter(); // Add a listener to each button to invoke a handler for arguments entered one.addactionlistener(arg); two.addactionlistener(arg); nine.addactionlistener(arg); zero.addactionlistener(arg); // Add a different listener to each button to invoke a handler add.addactionlistener(op); sub.addactionlistener(op); div.addactionlistener(op); mul.addactionlistener(op); equals.addactionlistener(op); Sam Siewert 10
11 GUI Layers GUI Application Build on API or CLI Simply Generates CLI Commands or API Calls Updates Displays with Return Codes or Screen Scraped Messaging Not Always the Best Idea (but Often Done) Sam Siewert 11
12 Prototypes and Mock-ups Early Feedback on Look and Feel Usability Engineering Time to Complete Common Tasks Success Rate for Test Tasks by Different Users Cognitive Load for Tasks using an HCI or GUI Focus Groups for Usability Sam Siewert 12
13 Assignment #2 Ex #2 Designing and Prototyping Interactive WIMP Applications 1. Critique of Windows Calculator in Standard, Basic View 2. Choose and OOP and IDE for Development and Test Method #1 GUI Code Generation QtCreator for C++ Visual Studio C# with WinForm Method #2 VHLL Interactive with Libraries Python with Tk Java with Swing 3. State Machine / State-Transition Table Design 4. Prototype Event Handler Implementation Handle Errors Please! 5. Portability Demonstration for Extra Credit Sam Siewert 13
14 Recall Interactive Design Methods SE300 (State Machines and Activity Diagrams) Sam Siewert 14
15 Event-Driven and Behavioral Specification Activity Diagrams Concurrency Objects with Active Threads (Tasks) Recall activity diagrams (express concurrency) State-Machines Deterministic Response Model for a Task (Thread) Task Awaits and Activating Event and Transitions to a New Statet Recall state machines (express states and transitions) Sam Siewert 15
16 Activity Diagram Example Sam Siewert 16
17 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. State Behavior Modeling State dependent behavior is common in software systems. off park fwd brake on off up down on reverse neutral released engine transmission brake What is the state dependent behavior of a car? 13-17
18 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Conventional State Transition Matrix 13-18
19 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Real Time Systems Design transformational processes, representing computations or information processing activities control processes, representing system s state dependent behavior, which is modeled by a Mealy type state machine continuous data flow, which must be processed in real time ordinary or discrete data flow event flow or control flow that triggers a transition of the state machine of a control process, or a command from a control process to a transformational process 13-19
20 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Real Time Systems Design a b P indicates that both data flow a and data flow b are required to begin executing process P a + b P indicates that either data flow a or data flow b is required to begin executing process P These logical connector can be applied to both data flow and control flow and transformation process and control process
21 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Z Z X Y Real Time Systems Design Two subsets of Z are used by two different successor processes. All of Z is used by two different successor processes. X Y Z Z is composed of Two subsets provided by two different predecessor processes. Z All of Z is provided by either one of two predecessor processes
22 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Cruise Control Example enable/disable rotation rate throttle control start/stop increase speed Increase Speed throttle position brake enable/ disable throttle control Cruise Control resume trigger enable/ disable enable/ disable Maintain Constant Speed rotation rate speed reached throttle position Record Rotation Rate Return to Previous Speed rotation rate set point rotation rate throttle control rotation rate throttle position 13-22
23 Cruise Control State Machine enable[] / trigger RRR; enable MCS disable[] / disable MCS Maintain Speed brake[] / disable MCS start increase speed[] / disable MCS; enable IS stop increasing speed[] / disable IS; trigger RRR; enable MCS Increase Speed brake[] / disable IS Interrupted resume[] / enable RPS brake[] / disable RPS speed reached[] / disable RPS; enable MCS Resume Speed Sam Siewert 23
24 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. State Transition Table State stubs show the states. Component substate State & Substate S 1 S 2 S 3 S4 (init) S5 S6 (init) E1 E2 E3 Event stubs list the events. A single-line separates specialization substates A double-line separates component substates Specialization substate S8 S7 S9 SA NA S9 S6 [C] / a1; a2 Transition entry, which means: if object is in S7 and E3 occurs and condition C is true, then actions a1 and a2 are executed and object enters S6. Table entry: initially all are. Eventually, each should be NA, or a transition entry
25 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Cruise Control State Transition Table 13-25
26 Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Conventional State Transition Matrix 13-26
27 Clarifications on State Machines Object State Modeling Event-Driven Collecting and Classifying State Behavior Extensions to Domain Models [Class Diagram and OIM] to add Domain State Machine Model For Event-Driven Architectures or Architectures with Event- Driven Aspects and Subsystems, EFSMs are High-Level (Domain) SDL FYI Not on Exam(s) State Transition Tables UML Notation event[guard] / act1; act2 Cruise Control Sam Siewert 27
28 Clarifications on Activity Diagrams Activity Models Concurrency, Fork, Join for Tasks Task Could Be Implemented as Linux Process, POSIX Thread, VxWorks Task, Unix/Windows Service, etc. Petri-Net Formalism, Can Be Simulated and Used for Cleanroom CFD/DFD UML Activity Diagram Notation Activity Table - Analysis Sam Siewert 28
CS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 5 HCI Design Methods (GUI Builders) September 18, 2015 Sam Siewert A Little Humor on HCI Sam Siewert 2 WIMP GUI Builders The 2D GUI is the Killer App for WIMP Floating
More informationCS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 3 WIMP HCI (Part 1 - GUI Builder Concepts) September 10, 2017 Sam Siewert Consider Is the text from page 21 below correct? What is the value of color vision to
More informationSE310 Analysis and Design of Software
SE310 Analysis and Design of Software Lecture 14 REVIEW March 26, 2018 Sam Siewert Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidate and PoC/Prototype Start Here! https://www.modelio.org/
More informationCEC450 Real-Time Systems
CEC450 Real-Time Systems Lecture 15 Block Diagram Design Examples November 3, 2015 Sam Siewert Design Elements for Proof-of-Concept Top N Capability Oriented Requirements State and Explain Hold Q&A and
More informationCS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 7 Implementation and Testing Tools for HCIs October 4, 2015 Sam Siewert Coming Up Quiz on Wednesday for Part II Chapters 5,6,7,8,9 Review Next Week on Monday, 10/12
More informationGraphical User Interfaces (GUIs)
CMSC 132: Object-Oriented Programming II Graphical User Interfaces (GUIs) Department of Computer Science University of Maryland, College Park Model-View-Controller (MVC) Model for GUI programming (Xerox
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 2 OO Examples and Process Introduction January 8, 2015 Sam Siewert Overall Learning Objectives What to Build? Requirements as Capabilities Methods
More informationCS415 Human Computer Interaction
CS415 Human Computer Interaction Lecture 6, Part 2 Implementation and Testing Tools for HCIs October 1, 2018 Sam Siewert Minute Paper Summary - The Gurus Don Norman 1. make it fun (attributed to Fadell?)
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 informationSE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert
SE300 SWE Practices Lecture 10 Introduction to Event- Driven Architectures Tuesday, March 17, 2015 Sam Siewert Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Four Common Types
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 9 Review of Event-Driven Architectures March 6, 2018 Sam Siewert Reminders No class on Thursday - use time for Scrum meeting and to work on designs
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 2-2 Systems Engineering for OO January 17, 2018 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL in Agile
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 informationProgramming Language Concepts: Lecture 8
Programming Language Concepts: Lecture 8 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 8, 11 February 2009 GUIs and event
More informationSINGLE EVENT HANDLING
SINGLE EVENT HANDLING Event handling is the process of responding to asynchronous events as they occur during the program run. An event is an action that occurs externally to your program and to which
More informationBuilding a GUI in Java with Swing. CITS1001 extension notes Rachel Cardell-Oliver
Building a GUI in Java with Swing CITS1001 extension notes Rachel Cardell-Oliver Lecture Outline 1. Swing components 2. Building a GUI 3. Animating the GUI 2 Swing A collection of classes of GUI components
More informationRAIK 183H Examination 2 Solution. November 10, 2014
RAIK 183H Examination 2 Solution November 10, 2014 Name: NUID: This examination consists of 5 questions and you have 110 minutes to complete the test. Show all steps (including any computations/explanations)
More informationRAIK 183H Examination 2 Solution. November 11, 2013
RAIK 183H Examination 2 Solution November 11, 2013 Name: NUID: This examination consists of 5 questions and you have 110 minutes to complete the test. Show all steps (including any computations/explanations)
More informationState Application Using MVC
State Application Using MVC 1. Getting ed: Stories and GUI Sketch This example illustrates how applications can be thought of as passing through different states. The code given shows a very useful way
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 informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 6 Transitioning from Use Cases and Class Diagrams at Architecture Level to Design February 10, 2015 Sam Siewert Assignment #1 Comments OOA -> OOP (C++,
More informationOriginal GUIs. IntroGUI 1
Original GUIs IntroGUI 1 current GUIs IntroGUI 2 Why GUIs? IntroGUI 3 Computer Graphics technology enabled GUIs and computer gaming. GUI's were 1985 breakout computer technology. Without a GUI there would
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 informationObject-Oriented Programming: Revision. Revision / Graphics / Subversion. Ewan Klein. Inf1 :: 2008/09
Object-Oriented Programming: Revision / Graphics / Subversion Inf1 :: 2008/09 Breaking out of loops, 1 Task: Implement the method public void contains2(int[] nums). Given an array of ints and a boolean
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 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 informationSwing: Building GUIs in Java
Swing: Building GUIs in Java ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland February 13, 2017 Outline 1 Introduction 2 Aside: Inner
More informationCS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1
P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java
More informationSwing: Building GUIs in Java
Swing: Building GUIs in Java ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland February 13, 2017 Outline 1 Introduction 2 Aside: Inner
More informationFirst Name: AITI 2004: Exam 2 July 19, 2004
First Name: AITI 2004: Exam 2 July 19, 2004 Last Name: Standard Track Read Instructions Carefully! This is a 3 hour closed book exam. No calculators are allowed. Please write clearly if we cannot understand
More informationMidterm assessment - MAKEUP Fall 2010
M257 MTA Faculty of Computer Studies Information Technology and Computing Date: /1/2011 Duration: 60 minutes 1-Version 1 M 257: Putting Java to Work Midterm assessment - MAKEUP Fall 2010 Student Name:
More informationDEMYSTIFYING PROGRAMMING: CHAPTER SIX METHODS (TOC DETAILED) CHAPTER SIX: METHODS 1
DEMYSTIFYING PROGRAMMING: CHAPTER SIX METHODS (TOC DETAILED) CHAPTER SIX: METHODS 1 Objectives 1 6.1 Methods 1 void or return 1 Parameters 1 Invocation 1 Pass by value 1 6.2 GUI 2 JButton 2 6.3 Patterns
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 informationQueens College, CUNY Department of Computer Science. CS 212 Object-Oriented Programming in Java Practice Exam 2. CS 212 Exam 2 Study Guide
Topics for Exam 2: Queens College, CUNY Department of Computer Science CS 212 Object-Oriented Programming in Java Practice Exam 2 CS 212 Exam 2 Study Guide Linked Lists define a list node define a singly-linked
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 informationSwing from A to Z Using Focus in Swing, Part 2. Preface
Swing from A to Z Using Focus in Swing, Part 2 By Richard G. Baldwin Java Programming, Lecture Notes # 1042 November 27, 2000 Preface Introduction Sample Program Interesting Code Fragments Summary What's
More informationCommand-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages.
1 CS257 Computer Science I Kevin Sahr, PhD Lecture 14: Graphical User Interfaces Command-Line Applications 2 The programs we've explored thus far have been text-based applications A Java application is
More informationLecture 5: Java Graphics
Lecture 5: Java Graphics CS 62 Spring 2019 William Devanny & Alexandra Papoutsaki 1 New Unit Overview Graphical User Interfaces (GUI) Components, e.g., JButton, JTextField, JSlider, JChooser, Containers,
More informationCS317 File and Database Systems
CS317 File and Database Systems http://dilbert.com/strips/comic/2010-01-18/ Lecture 14 Network Client Access to DBMS November 15, 2017 Sam Siewert Reminders PLEASE FILL OUT COURSE EVALUATIONS ON CANVAS
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 informationWe are on the GUI fast track path
We are on the GUI fast track path Chapter 13: Exception Handling Skip for now Chapter 14: Abstract Classes and Interfaces Sections 1 9: ActionListener interface Chapter 15: Graphics Skip for now Chapter
More informationMultithreading and Interactive Programs
Multithreading and Interactive Programs CS160: User Interfaces John Canny. Last time Model-View-Controller Break up a component into Model of the data supporting the App View determining the look of the
More informationCSCI 136 Written Exam #2 Fundamentals of Computer Science II Spring 2012
CSCI 136 Written Exam #2 Fundamentals of Computer Science II Spring 2012 Name: This exam consists of 6 problems on the following 8 pages. You may use your double- sided hand- written 8 ½ x 11 note sheet
More informationFirst Name: AITI 2004: Exam 2 July 19, 2004
First Name: AITI 2004: Exam 2 July 19, 2004 Last Name: JSP Track Read Instructions Carefully! This is a 3 hour closed book exam. No calculators are allowed. Please write clearly if we cannot understand
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 informationCOMP-202 Unit 10: Basics of GUI Programming (Non examinable) (Caveat: Dan is not an expert in GUI programming, so don't take this for gospel :) )
COMP-202 Unit 10: Basics of GUI Programming (Non examinable) (Caveat: Dan is not an expert in GUI programming, so don't take this for gospel :) ) Course Evaluations Please do these. -Fast to do -Used to
More informationCSE wi Final Exam 3/12/18. Name UW ID#
Name UW ID# There are 13 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationReview sheet for Final Exam (List of objectives for this course)
Review sheet for Final Exam (List of objectives for this course) Please be sure to see other review sheets for this semester Please be sure to review tests from this semester Week 1 Introduction Chapter
More informationInternational Journal of Current Research and Modern Education (IJCRME) ISSN (Online): ( Volume I, Issue II, 2016
A CASE STUDY OF IMPLEMENTING A GDB INTERFACE BETWEEN AN ARM BASED IC SIMULATOR AND GNU DEBUGGER H. S. Sachin Kumar* & Trisila Devi Nagavi** Department of Computer Science & Engineering, Sri Jaya Chamarajendra
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 informationCS Exam 1 Review Suggestions
CS 235 - Fall 2015 - Exam 1 Review Suggestions p. 1 last modified: 2015-09-30 CS 235 - Exam 1 Review Suggestions You are responsible for material covered in class sessions, lab exercises, and homeworks;
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 informationITEC 120 4/14/11. Review. Need. Objectives. GUI basics JFrame JPanel JLabel, JButton, JTextField Layout managers. Lecture 38 GUI Interactivity
Review ITEC 120 Lecture 38 GUI GUI basics JFrame JPanel JLabel, JButton, JTextField Layout managers Flow / Box Border / Grid Objectives Need Add interactivity When you click on a button How does your code
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 informationDistributed Collaboration - Assignment 1: Multi-View 1-User IM
Distributed Collaboration - Assignment 1: Multi-View 1-User IM Date Assigned:??? 1-View Target Date:??? Multi-View Submission Date:??? Objectives: Understand the use of observer pattern in user -interface
More informationLab & Assignment 1. Lecture 3: ArrayList & Standard Java Graphics. Random Number Generator. Read Lab & Assignment Before Lab Wednesday!
Lab & Assignment 1 Lecture 3: ArrayList & Standard Java Graphics CS 62 Fall 2015 Kim Bruce & Michael Bannister Strip with 12 squares & 5 silver dollars placed randomly on the board. Move silver dollars
More informationInterface Implementation
Interface Implementation HCI Lecture 11 David Aspinall Informatics, University of Edinburgh 26th October 2007 Outline Overview Software Engineering Usability Engineering Explaining Design Implementation
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 informationKF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation
KF5008 Program Design & Development Lecture 1 Usability GUI Design and Implementation Types of Requirements Functional Requirements What the system does or is expected to do Non-functional Requirements
More informationLab 4. D0010E Object-Oriented Programming and Design. Today s lecture. GUI programming in
Lab 4 D0010E Object-Oriented Programming and Design Lecture 9 Lab 4: You will implement a game that can be played over the Internet. The networking part has already been written. Among other things, the
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 informationDesigning Interactive Systems II
Designing Interactive Systems II Computer Science Graduate Programme SS 2010 Prof. Dr. RWTH Aachen University http://hci.rwth-aachen.de 1 Review 2 Review Web 2.0 in keywords 2 Review Web 2.0 in keywords
More informationLesson 2: First Java Programs
Lesson 2: First Java Programs Lesson 2: First Java Programs Objectives: Discuss why Java is an important programming language. Explain the Java virtual machine and byte code. Choose a user interface style.
More informationReview. Designing Interactive Systems II. Introduction. Web 2.0 in keywords GWT Cappuccino HTML5. Cross platform GUI Toolkit
Review Designing Interactive Systems II Computer Science Graduate Programme SS 2010 Prof. Dr. RWTH Aachen University Web 2.0 in keywords GWT Cappuccino HTML5 http://hci.rwth-aachen.de 1 2 Introduction
More informationGraphical User Interfaces
Graphical User Interfaces CSCI 136: Fundamentals CSCI 136: Fundamentals of Computer of Science Computer II Science Keith II Vertanen Keith Vertanen Copyright 2011 Overview Command line versus GUI apps
More informationExample: CharCheck. That s It??! What do you imagine happens after main() finishes?
Event-Driven Software Paradigm Today Finish Programming Unit: Discuss Graphics In the old days, computers did exactly what the programmer said Once started, it would run automagically until done Then you
More informationGraphics User Defined Forms, Part I
Graphics User Defined Forms, Part I Quick Start Compile step once always mkdir labs javac PropertyTax5.java cd labs mkdir 5 Execute step cd 5 java PropertyTax5 cp /samples/csc/156/labs/5/*. cp PropertyTax1.java
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 13 Lab Advanced GUI Applications
Gaddis_516907_Java 4/10/07 2:10 PM Page 113 Chapter 13 Lab Advanced GUI Applications Objectives Be able to add a menu to the menu bar Be able to use nested menus Be able to add scroll bars, giving the
More informationH212 Introduction to Software Systems Honors
Introduction to Software Systems Honors Lecture #19: November 4, 2015 1/14 Third Exam The third, Checkpoint Exam, will be on: Wednesday, November 11, 2:30 to 3:45 pm You will have 3 questions, out of 9,
More informationEPITA Première Année Cycle Ingénieur. Atelier Java - J5
EPITA Première Année Cycle Ingénieur marwan.burelle@lse.epita.fr http://www.lse.epita.fr Overview 1 2 Different toolkits AWT: the good-old one, lakes some features and has a plateform specific look n
More informationUniversity of Cape Town ~ Department of Computer Science. Computer Science 1016S / 1011H ~ November Exam
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1016S / 1011H ~ 2009 November Exam Question
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 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 informationMVC: Model View Controller
MVC: Model View Controller Computer Science and Engineering College of Engineering The Ohio State University Lecture 26 Motivation Basic parts of any application: Data being manipulated A user-interface
More informationSystems Programming Graphical User Interfaces
Systems Programming Graphical User Interfaces Julio Villena Román (LECTURER) CONTENTS ARE MOSTLY BASED ON THE WORK BY: José Jesús García Rueda Systems Programming GUIs based on Java
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 informationCS 4300 Computer Graphics
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller
More informationCore Java Syllabus. Pre-requisite / Target Audience: C language skills (Good to Have)
Overview: Java programming language is developed by Sun Microsystems. Java is object oriented, platform independent, simple, secure, architectural neutral, portable, robust, multi-threaded, high performance,
More informationDM503 Programming B. Peter Schneider-Kamp.
DM503 Programming B Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm503/! ADVANCED OBJECT-ORIENTATION 2 Object-Oriented Design classes often do not exist in isolation from each
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 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 informationEclipsing Your IDE. Figure 1 The first Eclipse screen.
Eclipsing Your IDE James W. Cooper I have been hearing about the Eclipse project for some months, and decided I had to take some time to play around with it. Eclipse is a development project (www.eclipse.org)
More informationWhat we saw. Desarrollo de Aplicaciones en Red. 1. OS Design. 2. Service description. 1.1 Operating System Service (1)
What we saw Desarrollo de Aplicaciones en Red José Rafael Rojano Cáceres http://www.uv.mx/rrojano Distributed system: Collection of independent computers that for the user works like if it where one CPU.
More informationJava Programming Lecture 6
Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components
More informationCS180 Spring 2010 Exam 2 Solutions, 29 March, 2010 Prof. Chris Clifton
CS180 Spring 2010 Exam 2 Solutions, 29 March, 2010 Prof. Chris Clifton Turn Off Your Cell Phone. Use of any electronic device during the test is prohibited. Time will be tight. If you spend more than the
More informationIntroduction. Introduction
Introduction Many Java application use a graphical user interface or GUI (pronounced gooey ). A GUI is a graphical window or windows that provide interaction with the user. GUI s accept input from: the
More informationASSIGNMENT NO 14. Objectives: To learn and demonstrated use of applet and swing components
Create an applet with three text Fields and four buttons add, subtract, multiply and divide. User will enter two values in the Text Fields. When any button is pressed, the corresponding operation is performed
More informationIntroduction to Graphical User Interfaces (GUIs) Lecture 10 CS2110 Fall 2008
Introduction to Graphical User Interfaces (GUIs) Lecture 10 CS2110 Fall 2008 Announcements A3 is up, due Friday, Oct 10 Prelim 1 scheduled for Oct 16 if you have a conflict, let us know now 2 Interactive
More informationIntroduction to Java. Lecture 1 COP 3252 Summer May 16, 2017
Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began
More informationIntroduction to Java Programming
Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific
More informationCPS221 Lecture: Threads
Objectives CPS221 Lecture: Threads 1. To introduce threads in the context of processes 2. To introduce UML Activity Diagrams last revised 9/5/12 Materials: 1. Diagram showing state of memory for a process
More informationPart I: Learn Common Graphics Components
OOP GUI Components and Event Handling Page 1 Objectives 1. Practice creating and using graphical components. 2. Practice adding Event Listeners to handle the events and do something. 3. Learn how to connect
More informationBeyond CSE143. What s Left To Do? Templates. Using Templates. A Template Class. A Problem with Reusing Code CSE 143
What s Left To Do? Beyond CSE143 Templates Modern Software Development Windows and Java 143 Wrapup Beyond the C++ covered in this course Many topics, many more details of topics we did cover Main omission:
More informationCSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2015
CSCI 136 Written Exam #1 Fundamentals of Computer Science II Spring 2015 Name: This exam consists of 5 problems on the following 7 pages. You may use your double- sided hand- written 8 ½ x 11 note sheet
More informationHandouts. 1 Handout for today! Recap. Homework #2 feedback. Last Time. What did you think? HW3a: ThreadBank. Today. Small assignment.
Handouts CS193J: Programming in Java Summer Quarter 2003 Lecture 10 Thread Interruption, Cooperation (wait/notify), Swing Thread, Threading conclusions 1 Handout for today! #21: Threading 3 #22: HW3a:
More informationChapter 13 Lab Advanced GUI Applications Lab Objectives. Introduction. Task #1 Creating a Menu with Submenus
Chapter 13 Lab Advanced GUI Applications Lab Objectives Be able to add a menu to the menu bar Be able to use nested menus Be able to add scroll bars, giving the user the option of when they will be seen.
More informationSE310 Analysis and Design of Software Systems
SE310 Analysis and Design of Software Systems Lecture 4, Part-2 Architectural Design January 28, 2019 Sam Siewert OOA/OOD vs. SA/SD Last Year s Consensus - 50% OO Helps, 50% Undecided Discussion of OOA
More informationIntroduction to Graphical Interface Programming in Java. Introduction to AWT and Swing
Introduction to Graphical Interface Programming in Java Introduction to AWT and Swing GUI versus Graphics Programming Graphical User Interface (GUI) Graphics Programming Purpose is to display info and
More information