Filthy Rich Clients: Filthier. Richer. Clientier. Romain Guy, Google Chet Haase, Adobe Systems
|
|
- Hillary Goodwin
- 5 years ago
- Views:
Transcription
1 Filthy Rich Clients: Filthier Richer Clientier Romain Guy, Google Chet Haase, Adobe Systems
2 Learn techniques for making cooler, better, and just darned funner applications. Get filthy JavaOne SM Conference java.sun.com/javaone 2
3 Agenda Fluffy Introduction Demos and Explanations Self-Serving Links to More Information 2008 JavaOne SM Conference java.sun.com/javaone 3
4 Where Were We? JavaOne Presentation 6/06 12/06 6/07 12/07 5/ JavaOne SM Conference java.sun.com/javaone 4
5 Where Were We? 6/06 12/06 6/07 12/07 5/08 Wrote book 2008 JavaOne SM Conference java.sun.com/javaone 5
6 Where Were We? 6/06 12/06 6/07 12/07 5/08 Review, edit, review, edit, review, edit, review, edit 2008 JavaOne SM Conference java.sun.com/javaone 6
7 Where Were We? JavaOne Presentation 6/06 12/06 6/07 12/07 5/ JavaOne SM Conference java.sun.com/javaone 7
8 Where Were We? JavaOne Presentation Publisher Misses Date 6/06 12/06 6/07 12/07 5/ JavaOne SM Conference java.sun.com/javaone 8
9 Where Were We? Book Released! 6/06 12/06 6/07 12/07 5/ JavaOne SM Conference java.sun.com/javaone 9
10 Where Were We? 6/06 12/06 6/07 12/07 5/08 Recovery, Therapy 2008 JavaOne SM Conference java.sun.com/javaone 10
11 What s New? Animation is hot. Lots of animated effects everywhere: Desktops/phonetops (Vista, Mac OS X, iphone, Android) Applications Toolkits Scene Graph project New animation engine, based on Timing Framework fundamentals Graphics effects built in JavaFX software New scripting language with animation and graphical effects built in 2008 JavaOne SM Conference java.sun.com/javaone 11
12 Agenda Fluffy Introduction Demos and Explanations Way too many Timers! Animated Layout Bling 59 minutes of Q&A Self-Serving Links to More Information 2008 JavaOne SM Conference java.sun.com/javaone 12
13 Way Too Many Timers! Situation Multiple, simultaneous animations Solution Multiple Animators Problem Choppy Performance 2008 JavaOne SM Conference java.sun.com/javaone 13
14 Demo: Too Many Balls 2008 JavaOne SM Conference java.sun.com/javaone 14
15 Code: Animator Setup bouncer = PropertySetter.createAnimator( 2000, this, "y, 0, maxy, 0); bouncer.setrepeatcount(animator.infinite); bouncer.setacceleration(.5f); bouncer.setdeceleration(.5f); bouncer.setresolution(1); bouncer.start(); 2008 JavaOne SM Conference java.sun.com/javaone 15
16 Problem: Timer Resolution Swing Timer uses low-resolution mechanism of OS Each Timer event services only one request Multiple Timers clog the queue Timer event = single Timer n milliseconds FPS = 1000 / n 2008 JavaOne SM Conference java.sun.com/javaone 16
17 Problem: Timer Resolution (cont d) More Timers means more events Which means more time between events for any particular Timer Timer event = Timer 1 = Timer 2 = Timer 3 n milliseconds FPS = 1000 / n / JavaOne SM Conference java.sun.com/javaone 17
18 Solution: Use Single Timing Source Idea: Have only one Timer in the system send pulses to multiple targets Problem: TimingTarget doesn t work here Unless all of your animations are exactly the same 2008 JavaOne SM Conference java.sun.com/javaone 18
19 Solution #1: TimingSource Interface for providing external timer to Animators Can be used to provide non-default Timer Caution: Still have to be on EDT to be Swing-friendly Can also be used to provide multiple pulses from single timing source = Timer 1 = Timer 2 pulse pulse pulse = Timer 3 = TimingSource Timer event n milliseconds FPS = 1000 / n 2008 JavaOne SM Conference java.sun.com/javaone 19
20 TimingSource: The code public class SingleTimingSource extends TimingSource implements ActionListener { Timer timer; // Swing timer public SingleTimingSource() { timer = new Timer(20, this); timer.setinitialdelay(0); } public void actionperformed(actionevent ae) { super.timingevent(); // sends pulse to listeners } public void setresolution(int resolution) { timer.setdelay(resolution); } public void setstartdelay(int delay) { timer.setinitialdelay(delay); } } 2008 JavaOne SM Conference java.sun.com/javaone 20
21 Timing Source: Using It static SingleTimingSource timer = new SingleTimingSource(); bouncer = PropertySetter.createAnimator( 2000, this, "y, 0, maxy, 0); bouncer.setrepeatcount(animator.infinite); bouncer.setacceleration(.5f); bouncer.setdeceleration(.5f); bouncer.setresolution(1); bouncer.settimer(timer); bouncer.start(); 2008 JavaOne SM Conference java.sun.com/javaone 21
22 Demo: TimingSource Solution 2008 JavaOne SM Conference java.sun.com/javaone 22
23 Solution #2: Scene Graph Animation Scene Graph animation engine has single-timer concept built in already Clip is the new Animator But gets its timing events from a single timing source = Timer 1 = Timer 2 pulse pulse pulse = Timer 3 = Timeline Timer event n milliseconds FPS = 1000 / n 2008 JavaOne SM Conference java.sun.com/javaone 23
24 Scene Graph Animation: The Code clip = Clip.create(2000, this, "y", 0, maxy, 0); clip.setrepeatcount(clip.indefinite); clip.setinterpolator( Interpolators.getEasingInstance(.5f,.5f)); clip.setresolution(1); clip.start(); 2008 JavaOne SM Conference java.sun.com/javaone 24
25 Demo: Scene Graph Animation Solution 2008 JavaOne SM Conference java.sun.com/javaone 25
26 Agenda Fluffy Introduction Demos and Explanations Way too many Timers! Animated Layout Bling 59 minutes of Q&A Self-Serving Links to More Information 2008 JavaOne SM Conference java.sun.com/javaone 26
27 Animated Layout Transitioning between layout states One approach: Capture before Capture after Animate items between the two states Items do one of three things between states Appear Disappear Change 2008 JavaOne SM Conference java.sun.com/javaone 27
28 Animated Layout Transitioning between layout states One approach: Capture before Capture after Animate items between the two states Items do one of three things between states Appear Disappear Change 2008 JavaOne SM Conference java.sun.com/javaone 28
29 Animated Transitions Captures before/after state Via callback: setupnextscreen() Applies standard effects to each component Appearing: FadeIn Disappearing: FadeOut Changing: Move/Resize No Change: (nothing) Runs animation, which runs all effects Hides container with glass pane Runs animation in glass pane, absolute layout Removes glass pane when done, showing real container 2008 JavaOne SM Conference java.sun.com/javaone 29
30 Demo: Lone Rearranger, Resizing 2008 JavaOne SM Conference java.sun.com/javaone 30
31 Resizing Transition, the Code // Set up transition Animator resizeanimator = new Animator(500); ScreenTransition resizetransition = new ScreenTransition(this, new ResizeTransitionTarget(), resizeanimator); // Handle slider events to change thumbnail size public void statechanged(changeevent ce) { currentsize = slider.getvalue() * 25; if (!resizetransition.getanimator().isrunning()) { resizetransition.start(); } } // Handle transition callback to set up next state public class ResizeTransitionTarget implements TransitionTarget { public void setupnextscreen() { BufferedImage img = images.get(i).getimage(currentsize); // other code to set up background image for slide slides[i].seticon(new ImageIcon(background)); validate(); } } 2008 JavaOne SM Conference java.sun.com/javaone 31
32 Rearranging the Order What about changing the order of items displayed? Can we animate transitions of order changes? Of course we can 2008 JavaOne SM Conference java.sun.com/javaone 32
33 Moving Items Around is a Drag Need lots of visual indicators Show item being dragged Show insertion marker where item would be placed if dropped Indicate insertion marker with different graphics Animate insertion marker to distinguish it and mark is as dynamic Move marker as appropriate with animated transitions, of course! Animate dropping dragged item into place 2008 JavaOne SM Conference java.sun.com/javaone 33
34 Show Dragged Item Drag it around on the glass pane remove() it from container add() it to glass pane setlocation() as the mouse moves // in first drag event remove(draggedcomponent); draggingglasspane.add(draggedcomponent); draggingglasspane.setvisible(true); // for every drag event // [calculate drag location] // set location of component on glass pane draggedcomponent.setlocation(dragx, dragy); 2008 JavaOne SM Conference java.sun.com/javaone 34
35 Make Dragged Item Translucent Differentiates it from other slides Allows user to see everything else below it // Each slide is a custom JLabel public class TranslucentLabel extends JLabel { private Composite translucentcomposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,.5f); boolean beingdragged = false; } protected void paintcomponent(graphics g) { if (beingdragged) { Graphics2D g2d = (Graphics2D)g; g2d.setcomposite(translucentcomposite); } super.paintcomponent(g); } 2008 JavaOne SM Conference java.sun.com/javaone 35
36 Show Insertion Marker Create marker based on contents of dragged component Get component s index in container Place marker at component s former index insertionmarker = new InsertionMarker((JLabel)draggedComponent); int componentindex = // query container for index add(insertionmarker, componentindex); 2008 JavaOne SM Conference java.sun.com/javaone 36
37 Give Marker a Different Look Show original image, but fade it out around the edges Uses DstIn composite with an alpha mask, like Romain s reflection panel protected void paintcomponent(graphics g) { Graphics2D g2d = markerimage.creategraphics(); g2d.drawimage(origimage, 0, 0, markerimagew, markerimageh, null); float fractions[] = {0f,.2f,.8f, 1f}; Color colors[] = {Color.WHITE, Color.WHITE, new Color(1f,1f,1f,outerAlpha), new Color(1f,1f,1f,outerAlpha)}; gradient = new RadialGradientPaint((float)markerImageW/2, (float)markerimageh/2, (float)markerimagew/2, fractions, colors); g2d.setpaint(gradient); g2d.setcomposite(alphacomposite.dstin); g2d.fillrect(0, 0, markerimagew, markerimageh); g.drawimage(markerimage, 0, 0, null); } 2008 JavaOne SM Conference java.sun.com/javaone 37
38 Animate Marker Indicate that it is dynamic and something the user probably wants to keep tabs on But make it subtle, not too annoying We modulate its look by varying the alpha mask 2008 JavaOne SM Conference java.sun.com/javaone 38
39 Animate Marker: the code // Set up the animation insertionpulse = PropertySetter.createAnimator(500, insertionmarker, "outeralpha", 0f,.7f); insertionpulse.setrepeatcount(animator.infinite); insertionpulse.setrepeatbehavior( Animator.RepeatBehavior.REVERSE); insertionpulse.setstartdelay(500); insertionpulse.start(); // In InsertionMarker, our property setter gets called public void setouteralpha(float alpha) { outeralpha = alpha; repaint(); } // Meanwhile, in paintcomponent(): Color colors[] = {Color.WHITE, Color.WHITE, new Color(1f, 1f, 1f, outeralpha), new Color(1f, 1f, 1f, outeralpha)}; 2008 JavaOne SM Conference java.sun.com/javaone 39
40 Move Marker As user drags component around, move insertion marker Animate these moves by calling insertiontransition int insertionindex = getinsertionindex(dragx, dragy); if (insertionindex!= currentinsertionindex) { currentinsertionindex = insertionindex; insertiontransition.start(); } 2008 JavaOne SM Conference java.sun.com/javaone 40
41 Move Marker (cont d) insertiontransition handles animation of marker moves // Declare transition for marker moves ScreenTransition insertiontransition = new ScreenTransition(this, new InsertionTransitionTarget(), insertionanimator); // InsertionTransitionTarget handles the callback public class InsertionTransitionTarget implements TransitionTarget { public void setupnextscreen() { remove(insertionmarker); add(insertionmarker, currentinsertionindex); validate(); ((JComponent)getRootPane().getGlassPane()). add(draggedcomponent); } } 2008 JavaOne SM Conference java.sun.com/javaone 41
42 Animate the Drop private void insertintoplace() { dragging = false; Point endlocation = insertionmarker.getlocation(); Animator inserter = PropertySetter.createAnimator( 200, draggedcomponent, "location", endlocation); inserter.setacceleration(1f); inserter.addtarget(insertionend); inserter.start(); } public TimingTarget insertionend = new TimingTargetAdapter() { public void end() { remove(insertionmarker); insertionpulse.stop(); insertionpulse = null; add(draggedcomponent, currentinsertionindex); draggedcomponent = null; validate(); } }; 2008 JavaOne SM Conference java.sun.com/javaone 42
43 Demo: Lone Rearranger, What a Drag 2008 JavaOne SM Conference java.sun.com/javaone 43
44 Agenda Fluffy Introduction Demos and Explanations Way too many Timers! Animated Layout Bling 59 minutes of Q&A Self-Serving Links to More Information 2008 JavaOne SM Conference java.sun.com/javaone 44
45 Soft Clipping Clipping is mostly used for performance Graphics.clipRect(x, y, width, height) Clipping can also be used for effects Framing Drawing complex shapes Clipping complex shapes is easy Graphics2D.setClip(Shape) or Graphics2D.clip(Shape) But it sucks! Anti-aliasing does not work 2008 JavaOne SM Conference java.sun.com/javaone 45
46 Soft Clipping Use AlphaComposite Graphics2D g2 = //... // Prepare the clip (instead of calling clip()) g2.fill(clipshape); Composite c = g2.getcomposite(); g2.setcomposite(alphacomposite.srcin); // Draw content g2.setcomposite(c); 2008 JavaOne SM Conference java.sun.com/javaone 46
47 Demo: Showing some love 2008 JavaOne SM Conference java.sun.com/javaone 47
48 Photo Composites Blending in Java2D is easy AlphaComposite But very limited Only affect the alpha channel More composites = more flexibility Photoshop has 20+ composites SwingX offers 30 composites swingx.dev.java.net org.jdesktop.swingx.image.blendcomposite 2008 JavaOne SM Conference java.sun.com/javaone 48
49 Photo Composites 2008 JavaOne SM Conference java.sun.com/javaone 49
50 Photo Composite BlendComposite is used like AlphaComposite Graphics2D g2 = image.creategraphics(); g2.setcomposite(alphacomposite.src); g2.drawimage(imagea, 0, 0, null); g2.setcomposite(blendcomposite.colordodge); g2.setpaint(gradient); g2.fill(getbounds()); g2.dispose(); 2008 JavaOne SM Conference java.sun.com/javaone 50
51 Demo: Animated splash screen 2008 JavaOne SM Conference java.sun.com/javaone 51
52 For More Information (Shameless Self-Promotion) Book defacing (signing) 5:15 (right after this session), bookstore in Moscone South Romain s blog Chet s blog: graphics-geek.blogspot.com Book site demos, libs, links, cool gradient, nifty JavaScript technology animation filthyrichclients.org 2008 JavaOne SM Conference java.sun.com/javaone 52
53 Romain Guy, Google Chet Haase, Adobe Systems 2008 JavaOne SM Conference java.sun.com/javaone 53
Preface. 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 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 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 informationSwinging from the Outside
Swinging from the Outside A guide to navigating Swing from the outside of Sun Brian Mason, Dir Software of Engineering, Teseda S295599 Space is big, really big. You might think it is a long way down to
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 informationSwing Rocks - A Tribute to Filthy Rich Clients
Swing Rocks - A Tribute to Filthy Rich Clients Pär Sikö, Martin Gunnarsson Epsilon Information Technology One way that Pollak has found to speed up JavaTM programs is to rewrite their user interfaces in
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 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 informationKirill Grouchnikov, Amdocs Desktop Matters Conference San Jose, March
Kirill Grouchnikov, Amdocs Desktop Matters Conference San Jose, March 8-9 2007 Show two sample effects on buttons Show how this can be achieved with UI delegates Discuss alternative implementations Custom
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 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 informationAssignment 2. Application Development
Application Development Assignment 2 Content Application Development Day 2 Lecture The lecture covers the key language elements of the Java programming language. You are introduced to numerical data and
More informationExtreme Swing. Romain Guy Sun Microsystems.
Extreme Swing Romain Guy Sun Microsystems Overall Presentation Goal Learn how to create modern user interfaces with Swing Agenda About user interfaces Add a new dimension Swing and Java2D Going further
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 informationWhat s New in QuarkXPress 2018
What s New in QuarkXPress 2018 Contents What s New in QuarkXPress 2018...1 Digital publishing...2 Export as Android App...2 HTML5 enhancements...3 Configuration changes...5 Graphics...7 Transparency blend
More informationGraphics. Lecture 18 COP 3252 Summer June 6, 2017
Graphics Lecture 18 COP 3252 Summer 2017 June 6, 2017 Graphics classes In the original version of Java, graphics components were in the AWT library (Abstract Windows Toolkit) Was okay for developing simple
More informationG51PRG: Introduction to Programming Second semester Applets and graphics
G51PRG: Introduction to Programming Second semester Applets and graphics Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous two lectures AWT and Swing Creating components and putting
More informationThis book will help you quickly create your first documents, spreadsheets, and slideshows.
Getting Started Welcome to iwork 08 Preface This book will help you quickly create your first documents, spreadsheets, and slideshows. iwork 08 includes three applications that integrate seamlessly with
More informationEditing in Premiere Pro CC 2015
Editing in Premiere Pro CC 2015 Lesson 1: Exploring the Interface Exploring the Interface The Source Window The Program Window The Settings Menu Revealing the Video Scopes The Workspace Bar The Project
More informationT his article is downloaded from
Fading Elements with JQuery The fade effect is when an element fades out by becoming increasingly transparent over time until it disappears or fades in by becoming decreasingly opaque over time until it
More informationIntroduction to Kaltura
Introduction to Kaltura The Kaltura media content management system allows users to record, stream, and manage multimedia files. This industry-leading enterprise system offers many robust tools. This guide
More informationCSC 160 LAB 8-1 DIGITAL PICTURE FRAME. 1. Introduction
CSC 160 LAB 8-1 DIGITAL PICTURE FRAME PROFESSOR GODFREY MUGANDA DEPARTMENT OF COMPUTER SCIENCE 1. Introduction Download and unzip the images folder from the course website. The folder contains 28 images
More informationObject Orientated Programming in Java. Benjamin Kenwright
Graphics Object Orientated Programming in Java Benjamin Kenwright Outline Essential Graphical Principals JFrame Window (Popup Windows) Extending JFrame Drawing from paintcomponent Drawing images/text/graphics
More informationDownloaded from
Chapter 4 Advance features of MS PowerPoint Inside this chapter : Inserting different objects (i.e. images, Word Arts, audio & video etc.), Transitions in slide, Custom Animation with text. PowerPoint
More informationAdobe Flash Course Syllabus
Adobe Flash Course Syllabus A Quick Flash Demo Introducing the Flash Interface Adding Elements to the Stage Duplicating Library Items Introducing Keyframes, the Transform Tool & Tweening Creating Animations
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 information1. Multimedia authoring is the process of creating a multimedia production:
Chapter 8 1. Multimedia authoring is the process of creating a multimedia production: Creating/assembling/sequencing media elements Adding interactivity Testing (Alpha/Beta) Packaging Distributing to end
More informationPowerPoint X. 1. The Project Gallery window with the PowerPoint presentation icon already selected. 2. Click on OK.
PowerPoint X Launching PowerPointX 1. Start PowerPointX by clicking on the PowerPoint icon in the dock or finding it in the hard drive in the Applications folder under Microsoft PowerPoint. PowerPoint
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 information9 Using Appearance Attributes, Styles, and Effects
9 Using Appearance Attributes, Styles, and Effects You can alter the look of an object without changing its structure using appearance attributes fills, strokes, effects, transparency, blending modes,
More informationFrontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević
Frontend guide Everything you need to know about HTML, CSS, JavaScript and DOM Dejan V Čančarević Today frontend is treated as a separate part of Web development and therefore frontend developer jobs are
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 informationComposite Pattern Diagram. Explanation. JavaFX Subclass Hierarchy, cont. JavaFX: Node. JavaFX Layout Classes. Top-Level Containers 10/12/2018
Explanation Component has Operation( ), which is a method that applies to all components, whether composite or leaf. There are generally many operations. Component also has composite methods: Add( ), Remove(
More informationPowerPoint 2010 Quick Start
PowerPoint is a slide show presentation program. Use a slide show to convey your message to an audience. PowerPoint can be used for education, employee orientation, business promotion, team motivation,
More informationPowerPoint Tutorial 2: Adding and Modifying Text and Graphic Objects 2013
PowerPoint Tutorial 2: Adding and Modifying Text and Graphic Objects Microsoft Office 2013 2013 Objectives Insert a graphic from a file Insert, resize, and reposition clip art Modify the color and shape
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 informationSTRANDS AND STANDARDS
STRANDS AND STANDARDS Course Description Web Development is a course designed to guide students in a project-based environment in the development of up-to-date concepts and skills that are used in the
More informationAdobe Flash CS3 Reference Flash CS3 Application Window
Adobe Flash CS3 Reference Flash CS3 Application Window When you load up Flash CS3 and choose to create a new Flash document, the application window should look something like the screenshot below. Layers
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 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 informationCOMP : Practical 8 ActionScript II: The If statement and Variables
COMP126-2006: Practical 8 ActionScript II: The If statement and Variables The goal of this practical is to introduce the ActionScript if statement and variables. If statements allow us to write scripts
More informationFlash offers a way to simplify your work, using symbols. A symbol can be
Chapter 7 Heavy Symbolism In This Chapter Exploring types of symbols Making symbols Creating instances Flash offers a way to simplify your work, using symbols. A symbol can be any object or combination
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 informationWidgets. Widgets Widget Toolkits. User Interface Widget
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 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 informationAdvanced Java Unit 6: Review of Graphics and Events
Advanced Java Unit 6: Review of Graphics and Events This is a review of the basics of writing a java program that has a graphical interface. To keep things simple, all of the graphics programs will follow
More informationPowerPoint Launching PowerPointX
PowerPoint 2004 Launching PowerPointX 1. Start PowerPoint by clicking on the PowerPoint icon in the dock or finding it in the hard drive in the Applications folder under Microsoft Office 2004. PowerPoint
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 informationGraphic Interface Programming II Events and Threads. Uppsala universitet
Graphic Interface Programming II Events and Threads IT Uppsala universitet Animation Animation adds to user experience Done right, it enhances the User Interface Done wrong, it distracts and irritates
More informationProctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.
HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC124, WINTER TERM, 2009 FINAL EXAMINATION 7pm to 10pm, 18 APRIL 2009, Dunning Hall Instructor: Alan McLeod If the
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 informationImpress Guide. Chapter 1 Introducing Impress
Impress Guide Chapter 1 Introducing Impress Copyright This document is Copyright 2005 2009 by its contributors as listed in the section titled Authors. You may distribute it and/or modify it under the
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 2110 Fall Instructions. 1 Installing the code. Homework 4 Paint Program. 0.1 Grading, Partners, Academic Integrity, Help
CS 2110 Fall 2012 Homework 4 Paint Program Due: Wednesday, 12 November, 11:59PM In this assignment, you will write parts of a simple paint program. Some of the functionality you will implement is: 1. Freehand
More informationImpress Guide Chapter 1 Introducing Impress
Impress Guide Chapter 1 Introducing Impress This PDF is designed to be read onscreen, two pages at a time. If you want to print a copy, your PDF viewer should have an option for printing two pages on one
More informationStep 1: Create A New Photoshop Document
Snowflakes Photo Border In this Photoshop tutorial, we ll learn how to create a simple snowflakes photo border, which can be a fun finishing touch for photos of family and friends during the holidays,
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 informationGraphics and Painting
Graphics and Painting Lecture 17 CGS 3416 Fall 2015 November 30, 2015 paint() methods Lightweight Swing components that extend class JComponent have a method called paintcomponent, with this prototype:
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 informationAvoid Common Pitfalls when Programming 2D Graphics in Java: Lessons Learnt from Implementing the Minueto Toolkit
Avoid Common Pitfalls when Programming 2D Graphics in Java: Lessons Learnt from Implementing the Minueto Toolkit Minueto is a platform independent game development framework written in Java, specifically
More informationWeek Lesson Assignment SD Technology Standards. Knowledge Check. Project Project Project Power Point 3.1. Power Point 3.
1 Photoshop Lesson 1: Intro to Photoshop About Photoshop Power Point Fix a bad photo and optimize it for the web. Import & crop Masterbed 1 Lesson 2: Staging area Use the Photoshop interface. Set and delete
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 informationANIMATOR TIMELINE EDITOR FOR UNITY
ANIMATOR Thanks for purchasing! This document contains a how-to guide and general information to help you get the most out of this product. Look here first for answers and to get started. What s New? v1.53
More informationPowerPoint Tips and Tricks
PowerPoint Tips and Tricks Viewing Your Presentation PowerPoint provides multiple ways to view your slide show presentation. You can access these options either through a toolbar on your screen or by pulling
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 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 informationIntroduction to PowerPoint 2007
Introduction to PowerPoint 2007 PowerPoint is one of the programs included in the Microsoft Office suite. It s used to create presentations, also called slide shows, that are typically displayed via a
More informationGraphic User Interfaces. - GUI concepts - Swing - AWT
Graphic User Interfaces - GUI concepts - Swing - AWT 1 What is GUI Graphic User Interfaces are used in programs to communicate more efficiently with computer users MacOS MS Windows X Windows etc 2 Considerations
More informationUI Software Organization
UI Software Organization The user interface From previous class: Generally want to think of the UI as only one component of the system Deals with the user Separate from the functional core (AKA, the app
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 informationObject-Oriented Programming Design. Topic : Graphics Programming GUI Part I
Electrical and Computer Engineering Object-Oriented Topic : Graphics GUI Part I Maj Joel Young Joel.Young@afit.edu 15-Sep-03 Maj Joel Young A Brief History Lesson AWT Abstract Window Toolkit Implemented
More informationanimation, and what interface elements the Flash editor contains to help you create and control your animation.
e r ch02.fm Page 43 Wednesday, November 15, 2000 8:52 AM c h a p t 2 Animating the Page IN THIS CHAPTER Timelines and Frames Movement Tweening Shape Tweening Fading Recap Advanced Projects You have totally
More informationAdobe Photoshop CS5 Advanced. Course Outline. Course Length: 1 Day. Course Overview
Adobe Photoshop CS5 Advanced Course Length: 1 Day Course Overview Photoshop CS5: Advanced is the second of three titles in this series. In this course, students will learn how to use color fills, gradients,
More informationProgramming graphics
Programming graphics Need a window javax.swing.jframe Several essential steps to use (necessary plumbing ): Set the size width and height in pixels Set a title (optional), and a close operation Make it
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 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 informationUI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)
UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are
More informationPowerPoint. Tutorial 1 Creating a Presentation. Tutorial 2 Applying and Modifying Text and Graphic Objects
PowerPoint Tutorial 1 Creating a Presentation Tutorial 2 Applying and Modifying Text and Graphic Objects Tutorial 3 Adding Special Effects to a Presentation COMPREHENSIVE PowerPoint Tutorial 1 Creating
More informationPhotoshop Basics A quick introduction to the basic tools in Photoshop
Photoshop Basics A quick introduction to the basic tools in Photoshop Photoshop logo courtesy Adobe Systems Inc. By Dr. Anthony R. Curtis Mass Communication Department University of North Carolina at Pembroke
More informationCreating a Presentation
Creating a Presentation Objectives Open and view a presentation Create a new presentation Enter and format slide text Apply a theme Add and modify clip art Add and modify shapes Create SmartArt Insert
More informationImpress Guide. Chapter 1 Introducing Impress
Impress Guide Chapter 1 Introducing Impress Copyright This document is Copyright 2005 2010 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU
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 informationTable of Contents. Preface... xiii
Table of Contents Preface...................................................... xiii Part I. SVG on the Web 1. Graphics from Vectors....................................... 3 Defining an SVG in Code 4 Simple
More informationUser interfaces and Swing
User interfaces and Swing Overview, applets, drawing, action listening, layout managers. APIs: java.awt.*, javax.swing.*, classes names start with a J. Java Lectures 1 2 Applets public class Simple extends
More informationSystem Configuration and 3D in Photoshop CS5
CHAPTER 1 System Configuration and 3D in Photoshop CS5 The Adobe Photoshop application works closely with your computer s hardware profile to use its capabilities most efficiently. This smart relationship
More informationAnimatedImage.java. Page 1
1 import javax.swing.japplet; 2 import javax.swing.jbutton; 3 import javax.swing.jpanel; 4 import javax.swing.jcombobox; 5 import javax.swing.jlabel; 6 import javax.swing.imageicon; 7 import javax.swing.swingutilities;
More informationCHAPTER 1. Interface Overview 3 CHAPTER 2. Menus 17 CHAPTER 3. Toolbars and Tools 33 CHAPTER 4. Timelines and Screens 61 CHAPTER 5.
FLASH WORKSPACE CHAPTER 1 Interface Overview 3 CHAPTER 2 Menus 17 CHAPTER 3 Toolbars and Tools 33 CHAPTER 4 Timelines and Screens 61 CHAPTER 5 Panels 69 CHAPTER 6 Preferences and Printing 93 COPYRIGHTED
More informationCreating a Special PowerPoint Title Slide Using WordArt
Creating a Special PowerPoint Title Slide Using WordArt 1. Open a new slideshow and delete the topic and content textboxes 2. Click on the Insert tab and click on the WordArt tool icon. (Suggestion: start
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 informationAdobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand
Adobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand Photoshop is the software for image processing. With this you can manipulate your pictures, either scanned or otherwise inserted to a great extant.
More informationCOPYRIGHTED MATERIAL PHOTOSHOP WORKSPACE. Interface Overview 3. Menus 15. The Toolbox 29. Palettes 61. Presets and Preferences 83 WEB TASKS
PHOTOSHOP WORKSPACE CHAPTER 1 Interface Overview 3 CHAPTER 2 Menus 15 CHAPTER 3 The Toolbox 29 CHAPTER 4 Palettes 61 CHAPTER 5 Presets and Preferences 83 COPYRIGHTED MATERIAL PHOTOSHOP WORK SPACE UNIVERSAL
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 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 informationCenter for Faculty Development and Support Creating Powerful and Accessible Presentation
Creating Powerful and Accessible Presentation PowerPoint 2007 Windows Tutorial Contents Create a New Document... 3 Navigate in the Normal View (default view)... 3 Input and Manipulate Text in a Slide...
More informationAdvanced PowerPoint Skills
Table of Contents Advanced PowerPoint Skills 1 Applying the Dim Feature... 2 Adding Sound... 5 Adding Video... 7 Hyperlinks... 8 Linking to a place in the same document... 8 Linking to a different document...
More informationAnimating Layers with Timelines
Animating Layers with Timelines Dynamic HTML, or DHTML, refers to the combination of HTML with a scripting language that allows you to change style or positioning properties of HTML elements. Timelines,
More informationQt + Maemo development
ES3 Lecture 11 Qt + Maemo development Maemo Nokia's Linux based platform Almost entirely open source Nokia N770, N800, N810, N900 only models Only N900 has 3G/phone capability N900 has relatively fast
More informationNew Perspectives Microsoft Office 365 and PowerPoint 2016 Comprehensive 1st Edition Pinard TEST BANK
New Perspectives Microsoft Office 365 and PowerPoint 2016 Comprehensive 1st Edition Pinard TEST BANK Full download at: https://testbankreal.com/download/new-perspectives-microsoft-office-365-powerpoint-
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 information