Swinging from the Outside
|
|
- Asher Webster
- 5 years ago
- Views:
Transcription
1 Swinging from the Outside A guide to navigating Swing from the outside of Sun Brian Mason, Dir Software of Engineering, Teseda S295599
2 Space is big, really big. You might think it is a long way down to the chemist's, but that is peanuts to space. Swing toolkit, however, isn't that big, but it is still pretty big. Starting out it can be confusing. Understanding common issues and finding solutions is a key to successfully navigating Swing toolkit. By the end of this presentation, you will have an idea of the issues and a direction to start creating cool Swing Applications 2008 JavaOne SM Conference java.sun.com/javaone 2
3 A quick search of some Swing toolkit helpers Swing Java 2D JOGL Java 3D JSR-295 SwingX Java FX SWT JDIC JChart JSR-295 JBuilder JGoodies JXLayers Netbeans InteliJ ILOG Eclipse Timing Framework 2008 JavaOne SM Conference java.sun.com/javaone 3
4 Why Would a New Swing toolkit Developer be Confused? 2008 JavaOne SM Conference java.sun.com/javaone 4
5 Agenda Classification of Swing Applications Application Frameworks Threading and Task Management Making the User Wait Making it pretty Q&A 2008 JavaOne SM Conference java.sun.com/javaone 5
6 Classification of Swing Applications Purpose of classification is to understand what is important Focus discussion Recognize not all applications need the same things Classification is basically understanding the user Many other parameters go into user understanding besides target use Two broad classifications of Swing Apps are: Consumer Applications Business Applications 2008 JavaOne SM Conference java.sun.com/javaone 6
7 Business Applications Maybe Mission Critical Often set UI guidelines, Used All day Skinning not needed (or desired) Use of Animation and colors often controlled Needs to be very stable UI Must minimize eye strain I18N always a good idea, but localization often not needed Apps often not run as admin Example, OC UI Guidelines 2008 JavaOne SM Conference java.sun.com/javaone 7
8 Consumer Applications Less formal UI More Glitz allowed/expected Maybe used for shorter periods of time Varied user base. I18N and L10N very important Personalization such as Skins, important Often app is run as Admin on windows 2008 JavaOne SM Conference java.sun.com/javaone 8
9 Agenda Classification of Swing Applications Application Frameworks Threading and Task Management Making the User Wait Making it pretty Q&A 2008 JavaOne SM Conference java.sun.com/javaone 9
10 Application Framework Definition from Wikipedia: A software framework is a re-usable design for a software system (or subsystem) A Guideline/best practices and set of helper classes to build an application We are not talking about frameworks for: Animation UI Handling RDBMS Access An application framework is for the whole application, not small, yet important parts. Component Libraries are not frameworks 2008 JavaOne SM Conference java.sun.com/javaone 10
11 Qualities of Good Application Frameworks SIMPLE, SIMPLE and SIMPLE Is not intrusive, can be used or not (At the same time) Helps With Resource Management Thread Management Life Cycle Has a Standard Look and Feel? Same on all platforms? Matches Platform? Allows for Branding / Matching Corp UI standards If it is just as hard to develop the app with the framework as without, then it hasn't saved you any work (J. Murphy) 2008 JavaOne SM Conference java.sun.com/javaone 11
12 Example of Bad A framework requires all Windows derived from a base class Does everything a Special Way Does not allow components to move between applications Resources are stored centrally Functionality is tied to a named class Think MFC 2008 JavaOne SM Conference java.sun.com/javaone 12
13 Example Application Frameworks Great Frameworks we will not discuss The Brian Framework The John Framework The great unified Framework Cool looking Frameworks Swing Application Framework (Java Specification Request 296) Jmatter Starter Code from IDE 2008 JavaOne SM Conference java.sun.com/javaone 13
14 The Swing Framework (JSR-296), How does it line up? Does it meet the test Is it Simple? Does it stay out of your way? Helps With Resource Management Thread Management Life Cycle Has a Standard Look and Feel? Hold the thought. Lets Look at the Demo!!! 2008 JavaOne SM Conference java.sun.com/javaone 14
15 Simple JSR-296 Application 2008 JavaOne SM Conference java.sun.com/javaone 15
16 Advice for all Frameworks, libraries,blogs and books Double Check Everything Learn Basic Swing Toolkit Rules Do not assume things are correct If code uses threads, double check it again Check the code into Source Control Check Threading! Threading errors in book code Use Static Analysis for Threading JavaOne SM Conference java.sun.com/javaone 16
17 Agenda Classification of Swing Applications Application Frameworks Threading and Task Management Making the User Wait Making it pretty Q&A 2008 JavaOne SM Conference java.sun.com/javaone 17
18 Embrace the Horror You cannot avoid multi-threaded Swing tookit Event Dispatch Thread (EDT) Do not block the EDT; EVER File System Access Network Access DB Access Even long memory based task, like sorting Swing Calls, unless specifically document otherwise, must be ON the EDT 2008 JavaOne SM Conference java.sun.com/javaone 18
19 Bad Threading Example (EDT Handler) Jlist filelist=new JList(); File dir=new File("."); File[] list=dir.listfiles(); DefaultListModel model=new DefaultListModel(); for(file f:list){ model.addelement(f.getname()); } filelist.setmodel(model); 2008 JavaOne SM Conference java.sun.com/javaone 19
20 Perfuming the hog (Threaded Handler) Runnable run = new Runnable() { public void run() { File dir = new File("."); File[] list = dir.listfiles(); DefaultListModel model = new DefaultListModel(); for (File f : list) { model.addelement(f.getname()); } filelist.setmodel(model);} }; Thread t=new Thread(run); t.start(); 2008 JavaOne SM Conference java.sun.com/javaone 20
21 Legal Thread Solution Runnable run = new Runnable() { public void run() { File dir = new File("."); File[] list = dir.listfiles(); DefaultListModel model = new DefaultListModel(); for (File f : list) { model.addelement(f.getname()); } loadthemodelsafely(model)} }; ExecutorService background=somefactory.getbackgroundexec() background.submit(run); 2008 JavaOne SM Conference java.sun.com/javaone 21
22 Legal Thread Solution Slide 2 void loadthemodelsafely(final ListModel model){ Runnable run=new Runnable(){ public void run(){ list.setmodel(model); } } } if(swingutilities.iseventdispatchthread()){ run.run(); }else{ //try catch block ommitted for readability SwingUtilities.invokeAndWait(run); } 2008 JavaOne SM Conference java.sun.com/javaone 22
23 Actions Meets Swing Worker A humble example of cleaner solution for blocking task Like Swing Worker but ties to actions Uses Swing Utils and threading behind the scene Has three abstract methods: preuiwork backgroundwork postuiwork 2008 JavaOne SM Conference java.sun.com/javaone 23
24 Threaded Actions Example class BlockingButtonAction extends BlockingAction{ public void preuiwork(actionevent e) { parent.setglasspane(gp); gp.setvisible(true);} public Object backgroundwork(actionevent e){ Thread.sleep(20000); return null;} public void postuiwork(actionevent e,object resultsfrombackground, Throwable error) { gp.setvisible(false); } 2008 JavaOne SM Conference java.sun.com/javaone 24
25 Threaded Actions 2008 JavaOne SM Conference java.sun.com/javaone 25
26 JSR-296 Actions Actions defined annotation on methods Must Bind Action to Components Handles Blocking and non-blocking actions Reporting method built in 2008 JavaOne SM Conference java.sun.com/javaone 26
27 JSR-296 Actions 2008 JavaOne SM Conference java.sun.com/javaone 27
28 Agenda Classification of Swing Applications Application Frameworks Threading and Task Management Making the User Wait Making it pretty Q&A 2008 JavaOne SM Conference java.sun.com/javaone 28
29 Blocking The User It's OK, they need a coffee break Why is it so hard? Keyboard Mouse Letting the user know what's happening When and how should we block the User? Never Only With a modal Dialog With a Glass Pane How about just a wait cursor???? You can never truly block a user Give them a Cancel Option so they use Your Solution There is a close widget on the window There is always kill JavaOne SM Conference java.sun.com/javaone 29
30 Blocking Solutions 2008 JavaOne SM Conference java.sun.com/javaone 30
31 Agenda Classification of Swing Applications Application Frameworks Threading and Task Management Making the User Wait Making it pretty Q&A 2008 JavaOne SM Conference java.sun.com/javaone 31
32 Making it Pretty Pretty does not always mean fancy Beauty is in the Eye of the Beholder Business apps used all day need to be Easy On the Eyes Remember guidelines for business apps Embrace alternatives Embrace Java 2D API Swing Labs Third Party Libs 2008 JavaOne SM Conference java.sun.com/javaone 32
33 Java 2D API Swing is built on Java 2D API Paint methods take a Graphics2D as parameter The docs will show Graphics, cast it Rich set of methods for 2D work Well done and easy to use Can really speed up performance 2008 JavaOne SM Conference java.sun.com/javaone 33
34 Swing Labs Collection of several libraries SwingX Timing Framework JDesktop Integration Components (JDIC) SwingX-WS and more... Code is lab code It does change Put your copy in Source Control 2008 JavaOne SM Conference java.sun.com/javaone 34
35 GUI Builders Should we use GUI Builders? Arguments Against Ugly Code Doesn't support what I need Arguments For Speed Not everyone is the UI god you (think you) are Prettier Code Some Examples Netbeans software Intelli-J Jbuilder 2008 JavaOne SM Conference java.sun.com/javaone 35
36 GUI Builder Use 4000 Surveyed (Mail List) 9 Responded 5 Used None GUI Builders Netbeans Borland IDEA Win Builder None 2008 JavaOne SM Conference java.sun.com/javaone 36
37 Resources Folks & Sites I stole reused code from Swing Hacks ( ) Joshua Marinacci, Chris Adamson Alexander Potochkin's Blog Filthy Rich Clients Chet Haase and Romain Guy JavaOne SM Conference java.sun.com/javaone 37
38 Summary If you walk out with one message today: Swing is a great tool, there are lots of resources to help you You now have: A guideline for evaluating Frameworks and a example of a reasonable one A feel for some common issues in Swing Development A list of good resources to go and learn/try more 2008 JavaOne SM Conference java.sun.com/javaone 38
39 Brian Mason, Dir Software Engineering. S JavaOne SM Conference java.sun.com/javaone 39
Graphical 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 informationPreface. WELCOME to Filthy Rich Clients. This book is about building better, more. Organization
Preface WELCOME to Filthy Rich Clients. This book is about building better, more effective, and cooler desktop applications using graphical and animated effects. We started writing this book after our
More informationFilthy Rich Clients: Filthier. Richer. Clientier. Romain Guy, Google Chet Haase, Adobe Systems
Filthy Rich Clients: Filthier Richer Clientier Romain Guy, Google Chet Haase, Adobe Systems Learn techniques for making cooler, better, and just darned funner applications. Get filthy. 2008 JavaOne SM
More informationAdvanced Effects in Java Desktop Applications
Advanced Effects in Java Desktop Applications Kirill Grouchnikov, Senior Software Engineer, Amdocs kirillcool@yahoo.com http://www.pushing-pixels.org OSCON 2007 Agenda Swing pipeline Hooking into the pipeline
More informationRich Client GUI's with RCP & RAP
Rich Client GUI's with RCP & RAP Alexey Aristov WeigleWilczek GmbH aristov@weiglewilczek.com What is Rich Client? A fat client or rich client is a computer (client) in client-server architecture networks
More informationBringing Life to Swing Desktop Applications
Bringing Life to Swing Desktop Applications Alexander Potochkin Sun Microsystems Kirill Grouchnikov Amdocs Inc. TS-3414 2007 JavaOne SM Conference Session TS-3414 Presentation Goal Learn advanced painting
More informationJava FX. Threads, Workers and Tasks
Java FX Threads, Workers and Tasks Threads and related topics Lecture Overview...but first lets take a look at a good example of Model - View - Controler set up This and most of the lecture is taken from
More informationSeng310 Lecture 8. Prototyping
Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June
More informationLAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device
LAB-6340: Advanced Java ME Programming - Streaming Video From Server to Your Device Lukas Hasik, Fabiola Galleros Rios Software Engineer, Mobility Pack QE Sun Microsystems Inc. http://www.sun.com 2007
More informationGUI Programming. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 12 GUI Programming CHAPTER AUTHORS Ang Ming You Ching Sieh Yuan Francis Tam Pua Xuan Zhan Software Development Tools and
More informationCreating Professional Swing UIs Using the NetBeans GUI Builder
Creating Professional Swing UIs Using the NetBeans GUI Builder Tomas Pavek, Jan Stola, Scott Violet Sun Microsystems http://www.netbeans.org http://swinglabs.dev.java.net TS-4916 Copyright 2006, Sun Microsystems,
More informationNASA World Wind Java SDK
NASA World Wind Java SDK Tom Gaskins NWW Technical Director http://worldwind.arc.nasa.gov TS-3489 2007 JavaOne SM Conference Session TS-3489 Today s Agenda Build an Application Deploy with Java Web Start
More informationLIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY
LIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY Chen Fishbein, Software Architect Shai Almog, Software Architect Yoav Barel, Senior Manager TS-4921 Agenda What is LWUIT? Why? Key Benefits
More informationRadical GUI Makeover with Ajax Mashup
Radical GUI Makeover with Ajax Mashup Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community TS-5733 Learn how to turn a 'plain old' Java Platform, Micro Edition (Java
More informationDeveloping LimeWire: Swing for the Masses
Developing LimeWire: Swing for the Masses Sam Berlin Michael Everett TS-5162 Lime Wire LLC Lime Wire LLC GOAL: > To help you easily create large, good-looking User Interfaces in Swing 2 What is LimeWire?
More informationLow fidelity: omits details High fidelity: more like finished product. Breadth: % of features covered. Depth: degree of functionality
Fall 2005 6.831 UI Design and Implementation 1 Fall 2005 6.831 UI Design and Implementation 2 Paper prototypes Computer prototypes Wizard of Oz prototypes Get feedback earlier, cheaper Experiment with
More informationLesson 3 Transcript: Part 1 of 2 - Tools & Scripting
Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2
More informationWindowBuilder Graduation & Release Review
WindowBuilder Graduation & 1.0.0 Release Review http://www.eclipse.org/windowbuilder Planned Review Date: June 2011 Communication Channel: WindowBuilder Forum Eric Clayberg (Project Lead) 1 History Smalltalk
More informationHeavyweight with platform-specific widgets. AWT applications were limited to commonfunctionality that existed on all platforms.
Java GUI Windows Events Drawing 1 Java GUI Toolkits Toolkit AWT Description Heavyweight with platform-specific widgets. AWT applications were limited to commonfunctionality that existed on all platforms.
More informationJava Swing Introduction
Course Name: Advanced Java Lecture 18 Topics to be covered Java Swing Introduction What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java
More informationWeb 2.0: Next Generation Communities With Rich Java -Based Applications
Web 2.0: Next Generation Communities With Rich Java -Based Applications Matthew Schmidt VP of Technology DeveloperZone, Inc. http://www.developerzone.com TS-1375 Michael Urban Software Engineer DeveloperZone,
More informationSimplifying Development and Testing of GUIs with SAF (JSR 296) and FEST. Michael Hüttermann Training & Consulting Alex Ruiz Oracle Corporation
Simplifying Development and Testing of GUIs with SAF (JSR 296) and FEST Michael Hüttermann Training & Consulting Alex Ruiz Oracle Corporation Agenda Why do we need a Swing framework? Introducing the Swing
More informationSwing and you are winning
Swing and you are winning Pimp your user interface with the power of the swing framework. Tuning a standard user interface with gradients, custom components and validating text fields using the JGlassPane.
More informationJava.net - the Source for Java(tm) Technology Collaboration
java.net > All Articles > http://today.java.net/pub/a/today/2006/02/21/building-guis-with-swixml.html Building GUIs with SwiXml by Joshua Marinacci 02/21/2006 Contents The Layout Problem What is SwiXml?
More informationTwo geeks discuss Mobile/RIA stuff over coffee
JavaFX / Android Competing technologies or ideal partnership?...or (preferred title)... Two geeks discuss Mobile/RIA stuff over coffee Set up One Sony-XPeria mobile device complete with JavaFX demo loaded
More informationCS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)
CS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES Tom Horton * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford) WHAT WILL WE BE TALKING ABOUT? Specific Prototyping Strategies! Low-Fidelity
More informationPrototyping. Readings: Dix et al: Chapter 5.8 Marc Rettig: Prototyping for tiny fingers, Communications of the ACM, April 1994.
Prototyping Readings: Dix et al: Chapter 5.8 Marc Rettig: Prototyping for tiny fingers, Communications of the ACM, April 1994. 1 What is prototyping? producing cheaper, less accurate renditions of your
More informationJavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!
TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?
More informationmismatch between what is maybe possible today and what is going on in many of today's IDEs.
What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to
More informationJava FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden
Java FX 2.0 Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden Keywords: JavaFX, Rich, GUI, Road map. Introduction This presentation gives an introduction into JavaFX. It introduces the key features
More informationImprove and Expand JavaServer Faces Technology with JBoss Seam
Improve and Expand JavaServer Faces Technology with JBoss Seam Michael Yuan Kito D. Mann Product Manager, Red Hat Author, JSF in Action http://www.michaelyuan.com/seam/ Principal Consultant Virtua, Inc.
More informationCSE 331 Software Design & Implementation
CSE 331 Software Design & Implementation Kevin Zatloukal Summer 2017 Java Graphics and GUIs (Based on slides by Mike Ernst, Dan Grossman, David Notkin, Hal Perkins, Zach Tatlock) Review: how to create
More informationLecture 6. Design (3) CENG 412-Human Factors in Engineering May
Lecture 6. Design (3) CENG 412-Human Factors in Engineering May 28 2009 1 Outline Prototyping techniques: - Paper prototype - Computer prototype - Wizard of Oz Reading: Wickens pp. 50-57 Marc Rettig: Prototyping
More informationPage 1. Human-computer interaction. Lecture 1b: Design & Implementation. Building user interfaces. Mental & implementation models
Human-computer interaction Lecture 1b: Design & Implementation Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use
More informationMemoryLint. Petr Nejedlý, Radim Kubacki SUN Microsystems, BOF-9066
MemoryLint Petr Nejedlý, Radim Kubacki SUN Microsystems, http://www.sun.com/, http://www.netbeans.org BOF-9066 2007 JavaOne SM Conference Session BOF-9066 Goal Get ideas how to analyze content of Java
More informationPage 1. Human-computer interaction. Lecture 2: Design & Implementation. Building user interfaces. Users and limitations
Human-computer interaction Lecture 2: Design & Implementation Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use and
More informationAUTOMATED HEAPDUMP ANALYSIS FOR DEVELOPERS, TESTERS, AND SUPPORT EMPLOYEES
AUTOMATED HEAPDUMP ANALYSIS FOR DEVELOPERS, TESTERS, AND SUPPORT EMPLOYEES Krum Tsvetkov Andreas Buchen TS-5729 Find memory leaks WITHOUT working with Memory Analyzer 2008 JavaOne SM Conference java.sun.com/javaone
More informationLesson 8 Transcript: Database Security
Lesson 8 Transcript: Database Security Slide 1: Cover Welcome to Lesson 8 of the DB2 on Campus Series. Today we are going to talk about database security. My name is Raul Chong, and I am the DB2 on Campus
More informationJDirectoryChooser Documentation
JDirectoryChooser Documentation Page 1 of 7 How to Use JDirectoryChooser The JDirectoryChooser provides user-friendly GUI for manipulating directories from Java application. User can either simply choose
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 informationCaptainCasa Enterprise Client. Why, where, how JavaFX makes sense
CaptainCasa Enterprise Client Why, where, how JavaFX makes sense 1 Why, where, how JavaFX makes sense! by Björn Müller, http://www.captaincasa.com CaptainCasa is an open community of mid-range business
More informationSpeech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World
Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech
More informationLab Guide. Service Portal and Mobile. Patrick Wilson & Will Lisac. Default Login / Password: admin / Knowledge17. itil / Knowledge17
Lab Guide Service Portal and Mobile Patrick Wilson & Will Lisac Default Login / Password: admin / Knowledge17 itil / Knowledge17 employee / Knowledge17 2017 ServiceNow, Inc. All rights reserved. 1 Lab
More informationPetr Suchomel Architect, NetBeans Mobility
NetBeans 6.0 A Fresh Look into Java Development Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda The NetBeans IDE, Platform, Community What's new in NetBeans 6.0 Quick look over NetBeans
More informationCopyright 2013, Oracle and/or its affiliates. All rights reserved.
1 JavaFX for Desktop and Embedded Nicolas Lorain Java Client Product Management Nicolas.lorain@oracle.com @javafx4you 2 The preceding is intended to outline our general product direction. It is intended
More informationPage 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement
Ideas to windows Lecture 7: Prototyping & Evaluation How do we go from ideas to windows? Prototyping... rapid initial development, sketching & testing many designs to determine the best (few?) to continue
More informationCS211 Lecture: The User Interface
CS211 Lecture: The User Interface Last revised November 19, 2008 Objectives: 1. To introduce the broad field of user interface design 2. To introduce the concept of User Centered Design 3. To introduce
More information<Insert Picture Here> JavaFX 2.0
1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,
More informationThe COS 333 Project. Robert M. Dondero, Ph.D. Princeton University
The COS 333 Project Robert M. Dondero, Ph.D. Princeton University 1 Overview A simulation of reality In groups of 3-5 people... Build a substantial three tier software system 2 Three-Tier Systems "Three
More informationDeveloping applications using JavaFX
Developing applications using JavaFX Cheshta, Dr. Deepti Sharma M.Tech Scholar, Dept. of CSE, Advanced Institute of Technology & Management, Palwal, Haryana, India HOD, Dept. of CSE, Advanced Institute
More informationHuman-Computer Interaction IS4300
Human-Computer Interaction IS4300 1 Quiz 3 1 I5 due next class Your mission in this exercise is to implement a very simple Java painting applet. The applet must support the following functions: Draw curves,
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 informationJava Programming Constructs Java Programming 2 Lesson 1
Java Programming Constructs Java Programming 2 Lesson 1 Course Objectives Welcome to OST's Java 2 course! In this course, you'll learn more in-depth concepts and syntax of the Java Programming language.
More informationMidterm Reminders. Design Pattern #6: Facade. General Idea. The Situation
Midterm Reminders The midterm is next Tuesday: March 4, 7-9 p.m. If you have a conflict and haven't told us, send e-mail TODAY! (conflicts with other Queens courses or exams) Location: Stirling Hall rooms
More informationLecture Topics. Administrivia
ECE498SL Lec. Notes L8PA Lecture Topics overloading pitfalls of overloading & conversions matching an overloaded call miscellany new & delete variable declarations extensibility: philosophy vs. reality
More informationHow NikeiD Hurdled the Java Technology and Flash Barrier
How NikeiD Hurdled the Java Technology and Flash Barrier Jonathan Hager, Kirk Jones and Travis Davidson Nike, Inc. nikeid.nike.com TS-9123 2006 JavaOne SM Conference Session TS-9123 Goal What You Will
More informationIntro to Java Programming, Comprehensive Version, Global Edition
Intro to Java Programming, Comprehensive Version, Global Edition LIANG Click here if your download doesn"t start automatically Intro to Java Programming, Comprehensive Version, Global Edition LIANG Intro
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 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 informationMultiple Inheritance, Abstract Classes, Interfaces
Multiple Inheritance, Abstract Classes, Interfaces Written by John Bell for CS 342, Spring 2018 Based on chapter 8 of The Object-Oriented Thought Process by Matt Weisfeld, and other sources. Frameworks
More informationCanvas. Walter Goodwater, Software Development Manager
Canvas Walter Goodwater, Software Development Manager Agenda Studio survey results Canvas design goals Demo Canvas roadmap Beta program 2015 Weatherford. All rights reserved. Studio Survey Results State
More informationThread Safety. Review. Today o Confinement o Threadsafe datatypes Required reading. Concurrency Wrapper Collections
Thread Safety Today o Confinement o Threadsafe datatypes Required reading Concurrency Wrapper Collections Optional reading The material in this lecture and the next lecture is inspired by an excellent
More informationCPS122 Lecture: The User Interface
Objectives: CPS122 Lecture: The User Interface 1. To introduce the broad field of user interface design 2. To introduce the concept of User Centered Design 3. To introduce a process for user interface
More informationA Design Recovery View - JFace vs. SWT. Abstract
A Design Recovery View - JFace vs. SWT Technical Report 2009-564 Manar Alalfi School of computing- Queen s University Kingston, Ontario, Canada alalfi@cs.queensu.ca Abstract This paper presents an experience
More information8.3 cloud roadmap. Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development. The AnyLogic Company Conference 2018 Baltimore
8.3 cloud roadmap Dr. Andrei Borshchev, CEO Nikolay Churkov, Head of Software Development The AnyLogic Company Conference 2018 Baltimore The AnyLogic Company www.anylogic.com agenda 1. 8.3: the new web
More informationBUILDING DATABASE SYSTEMS (X478)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 4 Professional Program: Data Administration and Management BUILDING DATABASE SYSTEMS (X478) AGENDA 4. Designing User Interfaces:
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 information1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney
1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No
More informationFall UI Design and Implementation 1
Fall 2004 6.831 UI Design and Implementation 1 1 Source: UI Hall of Shame Fall 2004 6.831 UI Design and Implementation 2 Our Hall of Shame candidate for the day is this interface for choose how a list
More informationMonkeybars Tools-enabled Swing development with JRuby
Monkeybars Tools-enabled Swing development with JRuby David Koontz david@koontzfamily.org JRuby fanboy, teacher, hockey player This is a talk about Java 2 This is a talk about Java This is a talk about
More informationTcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming
Tcl/Tk lecture CIS 410/510 User Interface Programming Tool Command Language TCL Scripting language for developing & using GUIs Allows generic programming variables, loops, procedures Embeddable into an
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 informationAdapter. Comp-304 : Adapter Lecture 23. Alexandre Denault Computer Science McGill University Fall 2007
Adapter Comp-304 : Adapter Lecture 23 Alexandre Denault Computer Science McGill University Fall 2007 Transactions Atomicity : Either all the tasks in the transactions are done, or none of them are. Consistency
More informationUser Interfaces in LabVIEW
User Interfaces in LabVIEW Company Overview Established in 1996, offices in New York, Boston, Chicago, Denver and Houston 75+ employees & growing Industries Served: Automotive Bio-medical Chemical and
More informationCORE JAVA TRAINING COURSE CONTENT
CORE JAVA TRAINING COURSE CONTENT SECTION 1 : INTRODUCTION Introduction about Programming Language Paradigms Why Java? Flavors of Java. Java Designing Goal. Role of Java Programmer in Industry Features
More informationWindows and Events. created originally by Brian Bailey
Windows and Events created originally by Brian Bailey Announcements Review next time Midterm next Friday UI Architecture Applications UI Builders and Runtimes Frameworks Toolkits Windowing System Operating
More informationQuality Assurance User Interface Modeling
Quality Assurance User Interface Modeling Part II - Lecture 4 1 The University of Auckland New Zealand 254 18/09/ /2012 Interviewing Methods of the FBI 254 18/09/ /2012 Cognitive interview: method to enhance
More informationCreating accessible forms
Creating accessible forms Introduction Creating an accessible form can seem tricky. Some of the questions people commonly ask include: Can I use protected forms? How do I lay out my prompts and questions?
More informationCoSc Lab # 5 (The Controller)
CoSc 10403 Lab # 5 (The Controller) Due Date: Part I, Experiment classtime, Thursday, Oct 25 th, 2018. Part II, Program - by midnight, Thursday, Oct 25 th, 2018. Part I MUST be typed and submitted to your
More informationI m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be
I m going to be introducing you to ergonomics More specifically ergonomics in terms of designing touch interfaces for mobile devices I m going to be talking about how we hold and interact our mobile devices
More informationPrezi Quick Guide: Make a Prezi in minutes
Prezi Quick Guide: Make a Prezi in minutes by Billy Meinke Updated Feb 2016 by Gina Iijima Welcome! This short guide will have you making functional and effective Prezis in no time. Prezi is a dynamic
More informationHuman Computer Interface Design Chapter 7 User Interface Elements Design and Guidelines
Human Computer Interface Design Chapter 7 User Interface Elements Design and Guidelines Objective UI Guidelines provides information on the theory behind the UI Elements "look and feel" and the practice
More informationClickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1
Presents A case study by Devin Zander A look into how absolutely easy internet marketing is. Money Mindset Page 1 Hey guys! Quick into I m Devin Zander and today I ve got something everybody loves! Me
More informationBCSWomen Android programming (with AppInventor) Family fun day World record attempt
BCSWomen Android programming (with AppInventor) Family fun day World record attempt Overview of the day Intros Hello Android! Getting your app on your phone Getting into groups Ideas for apps Overview
More informationJSR 377 Desktop Application Framework September Andres Almiray
JSR 377 Desktop Application Framework September 29 2017 Andres Almiray Agenda Goals Information to be gathered Implementation notes Issues Questions, discussion, next steps 2 Goals 3 Goals Define APIs
More informationTest Patterns in Java
Test Patterns in Java Jaroslav Tulach, Jesse Glick, Miloš Kleint Sun Microsystems http://www.netbeans.org 2006 JavaOne SM Conference Session BOF 0220 Automated Testing Test is a Kind of Documentation Learn
More informationCS108, Stanford Handout #22. Thread 3 GUI
CS108, Stanford Handout #22 Winter, 2006-07 Nick Parlante Thread 3 GUI GUIs and Threading Problem: Swing vs. Threads How to integrate the Swing/GUI/drawing system with threads? Problem: The GUI system
More informationBuilding a Java ME Test Suite in 15 Minutes
Building a Java ME Test Suite in 15 Minutes Mikhail Gorshenev, Senior Staff Engineer Roman Zelov, Member of Technical Staff Alexander Glasman, Member of Technical Staff Sun Microsystems, Inc. http://www.sun.com/
More informationIntroduction to the NetBeans Platform Certified Training Course. Geertjan Wielenga Sun Microsystems
Introduction to the NetBeans Platform Certified Training Course Geertjan Wielenga Sun Microsystems Agenda Aim of the Next Two Days What's the Problem Domain? What is the NetBeans Platform? Why NetBeans
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 informationthe gamedesigninitiative at cornell university Lecture 13 Architecture Design
Lecture 13 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams
More informationC15: JavaFX: Styling, FXML, and MVC
CISC 3120 C15: JavaFX: Styling, FXML, and MVC Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/19/2017 CUNY Brooklyn College 1 Outline Recap and issues Styling user interface
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 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 informationCS 116x Winter 2015 Craig S. Kaplan. Module 03 Graphical User Interfaces. Topics
CS 116x Winter 2015 Craig S. Kaplan Module 03 Graphical User Interfaces Topics The model-view-controller paradigm Direct manipulation User interface toolkits Building interfaces with ControlP5 Readings
More information15-Minute Fix: A Step-by-Step Guide to Designing Beautiful Dashboards
15-Minute Fix: A Step-by-Step Guide to Designing Beautiful Dashboards With a dashboard, every unnecessary piece of information results in time wasted trying to filter out what s important. Stephen Few,
More informationGWT and jmaki: Expanding the GWT Universe. Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems
GWT and jmaki: Expanding the GWT Universe Carla Mott, Staff Engineer, Sun Microsystems Greg Murray, Ajax Architect, Sun Microsystems Learn how to enhance Google Web Toolkit (GWT) to include many Ajax enabled
More informationAD105 Introduction to Application Development for the IBM Workplace Managed Client
AD105 Introduction to Application Development for the IBM Workplace Managed Client Rama Annavajhala, IBM Workplace Software, IBM Software Group Sesha Baratham, IBM Workplace Software, IBM Software Group
More informationIntroduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015
Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges
More informationPreventing Errors Help and Documentation
Preventing Errors Help and Documentation An ounce of prevention... It s in the manual.. This material has been developed by Georgia Tech HCI faculty, and continues to evolve. Contributors include Gregory
More information