Scripting With Java. Table of contents
|
|
- Gilbert Hunter
- 6 years ago
- Views:
Transcription
1 by Stephane Hillion, Thomas DeWeese Table of contents 1 Introduction How to manipulate a JSVGCanvas DOM document Writing thread-safe code Using the SVG DOM Alternate way to manipulate an SVG document...6
2 1. Introduction This section explains how to manipulate the DOM tree of an SVG document from a Java program. It contains the following sub-sections: How to manipulate a JSVGCanvas document? How to write thread-safe code? Using the SVG DOM How to run Java code using a <script> element? 2. How to manipulate a JSVGCanvas DOM document The follow code template demonstrates how to manipulate an SVG document displayed in a JSVGCanvas directly from a Java program. Note: You don't have to worry about graphics updates: after each event listener invocation the canvas is updated if needed. import java.awt.event.windowadapter; import java.awt.event.windowevent; import javax.swing.jframe; import org.apache.batik.swing.jsvgcanvas; import org.apache.batik.swing.svg.svgloadeventdispatcheradapter; import org.apache.batik.swing.svg.svgloadeventdispatcherevent; import org.apache.batik.script.window; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.events.event; import org.w3c.dom.events.eventlistener; import org.w3c.dom.events.eventtarget; public class SVGApplication { public static void main(string[] args) { new SVGApplication(); JFrame frame; JSVGCanvas canvas; Document document; Window window; public SVGApplication() { frame = new JFrame(); canvas = new JSVGCanvas(); // Forces the canvas to always be dynamic even if the current Page 2
3 // document does not contain scripting or animation. canvas.setdocumentstate(jsvgcanvas.always_dynamic); canvas.addsvgloadeventdispatcherlistener (new SVGLoadEventDispatcherAdapter() { public void svgloadeventdispatchstarted (SVGLoadEventDispatcherEvent e) { // At this time the document is available... document = canvas.getsvgdocument(); //...and the window object too. window = canvas.getupdatemanager(). getscriptingenvironment().createwindow(); // Registers the listeners on the document // just before the SVGLoad event is // dispatched. registerlisteners(); // It is time to pack the frame. frame.pack(); ); frame.addwindowlistener(new WindowAdapter() { public void windowopened(windowevent e) { // The canvas is ready to load the base document // now, from the AWT thread. canvas.seturi("doc.svg"); ); frame.getcontentpane().add(canvas); frame.setsize(800, 600); frame.show(); public void registerlisteners() { // Gets an element from the loaded document. Element elt = document.getelementbyid("elt-id"); EventTarget t = (EventTarget)elt; // Adds a 'onload' listener t.addeventlistener("svgload", new OnLoadAction(), false); // Adds a 'onclick' listener t.addeventlistener("click", new OnClickAction(), false); public class OnLoadAction implements EventListener { public void handleevent(event evt) { // Make some actions here... //...for example start an animation loop: window.setinterval(new Animation(), 50); Page 3
4 public class OnClickAction implements EventListener { public void handleevent(event evt) { // Make some actions here... //...for example schedule an action for later: window.settimeout(new DelayedTask(), 500); public class Animation implements Runnable { // Insert animation code here... public class DelayedTask implements Runnable { // Make some actions here... //...for example displays an alert dialog: window.alert("delayed Action invoked!"); 3. Writing thread-safe code The DOM listeners registered on the SVG document are called from the canvas update thread. To avoid race conditions do not manipulate the DOM tree from another thread. The way to switch from an external thread to the canvas update thread is to use the following code: // Returns immediately canvas.getupdatemanager().getupdaterunnablequeue(). invokelater(new Runnable() { // Insert some actions on the DOM here ); - or - // Waits until the Runnable is invoked canvas.getupdatemanager().getupdaterunnablequeue(). invokeandwait(new Runnable() { // Insert some actions on the DOM here ); Like with event listeners, when a Runnable is invoked from the update thread, the graphics Page 4
5 are updated. Note: It is very dangerous to call 'invokeandwait' from the Swing Event thread. This is the only thread that can be used to interact with Swing components. In some cases DOM calls may need to query the canvas for information (such as actual Swing component size etc). If this happens you will get a thread deadlock. You should only make invokeandwait calls from 'third party' threads. 4. Using the SVG DOM Batik provides a fairly complete implementation of the SVG DOM. The SVG DOM provides all the functionality most applications require. In particular the DOM implements DOM Events including mutation and UI Events. DOM events allow you to get notified when the cursor moves over elements of interest: // Element of Interest. Element theelem; ((EventTarget)theElem).addEventListener("mouseover", mouseoverlistener, true); Where mouseoverlistener implements the org.w3c.dom.events.eventlistener interface. This interface consists of the method: public void handleevent(event evt); This is called whenever the event occurs with the element it is registered on. It is worth reviewing the DOM Events specification as there are many useful features to this interface that are not immediately obvious. It is also worth looking at the DOM interfaces defined by the SVG specification as they provide a large number of useful methods, in particular the SVGLocatable: // Returns Bounding box of SVG Element. public SVGRect getbbox ( ); // Returns the transformation matrix to the screen. public SVGMatrix getscreenctm ( ); // Returns the transformation matrix to the given element. public SVGMatrix gettransformtoelement ( SVGElement element ) throws SVGException; In particular getscreenctm is very useful for taking the 'clientx', 'clienty' attributes of the DOM UIEvent and mapping them to the coordinate system of an element in the SVG document: Page 5
6 SVGMatrix mat = elem.getscreenctm(); SVGMatrix imat = mat.inverse(); SVGPoint cpt = document.getrootelement().createsvgpoint(); cpt.setx(uievt.clientx); cpt.sety(uievt.clienty); cpt = cpt.matrixtransform(imat); 5. Alternate way to manipulate an SVG document Batik provides an extension of the SVG <script> element which allows Java programs to be called from an SVG document. This feature is available to any application of Batik that uses the bridge module (for example the Swing component and the transcoders). In order to use this extension, the type attribute of a <script> element must be set to application/java-archive. In addition the xlink:href attribute must be the URI of a jar file which contains the program to run. The manifest of this jar file must contains an entry of the form: SVG-Handler-Class: classname Where classname must be the name of a class which implements the org.w3c.dom.svg.eventlistenerinitializer interface. See the javadoc of this interface for more details. The class can be contained directly in the jar file, but it is also possible for it to be contained in a jar file added to the classpath using the Class-Path entry of the manifest. Page 6
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 information(Incomplete) History of GUIs
CMSC 433 Programming Language Technologies and Paradigms Spring 2004 Graphical User Interfaces April 20, 2004 (Incomplete) History of GUIs 1973: Xerox Alto 3-button mouse, bit-mapped display, windows 1981:
More information!"# $ %&# %####' #&() % # # # #&* # ## +, # -
By Pep Jorge @joseplluisjorge Steema Software July 213!"# $ %&# %####' #&() % # # # #&* # ## +, # -. / " - $- * 11 1 1$ 2 11 1 3 4 / $ 5 5,+67 +68$ Copyright 213 Steema Software SL. Copyright Information.
More informationChapter 8. Java continued. CS Hugh Anderson s notes. Page number: 264 ALERT. MCQ test next week. This time. This place.
Chapter 8 Java continued CS3283 - Hugh Anderson s notes. Page number: 263 ALERT MCQ test next week This time This place Closed book CS3283 - Hugh Anderson s notes. Page number: 264 ALERT Assignment #2
More informationJava continued. Chapter 8 ALERT ALERT. Last week. MCQ test next week. This time. This place. Closed book. Assignment #2 is for groups of 3
Chapter 8 Java continued MCQ test next week This time This place Closed book ALERT CS3283 - Hugh Anderson s notes. Page number: 263 CS3283 - Hugh Anderson s notes. Page number: 264 ALERT Last week Assignment
More information[module lab 2.2] GUI FRAMEWORKS & CONCURRENCY
v1.0 BETA Sistemi Concorrenti e di Rete LS II Facoltà di Ingegneria - Cesena a.a 2008/2009 [module lab 2.2] GUI FRAMEWORKS & CONCURRENCY 1 GUI FRAMEWORKS & CONCURRENCY Once upon a time GUI applications
More informationECE 750 T11 Component Based Software Systems Project Presentation I Nilam Kaushik (Group 7) University of Waterloo Faculty of Engineering
ECE 750 T11 Component Based Software Systems Project Presentation I Nilam Kaushik (Group 7) University of Waterloo Faculty of Engineering Outline Introduction to SVG Proposed project Approach Expected
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 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 informationECE 750 T11 Component Based Software Systems Project Presentation II Nilam Kaushik (Group 7) University of Waterloo Faculty of Engineering
ECE 750 T11 Component Based Software Systems Project Presentation II Nilam Kaushik (Group 7) University of Waterloo Faculty of Engineering Outline Recap of Presentation I Vector vs raster graphics Problem
More informationA The SVG Micro DOM (udom)
05/18/2005 10:03 AM SVG Tiny 1.2-20050413 Top Contents Previous Next Elements Attributes A The SVG Micro DOM (udom) Contents A.1 Introduction A.2 Overview of the SVG udom A.2.1 Document Access A.2.2 Tree
More informationScalable 2D Vector Graphics API
Scalable 2D Vector Graphics API for J2ME Version 1.0 JSR-226 Expert Group jsr-226-comments@jcp.org Java Community Process Copyright 2003-2004 Nokia Corporation. All Rights Reserved. Java is a registered
More informationAll the Swing components start with J. The hierarchy diagram is shown below. JComponent is the base class.
Q1. If you add a component to the CENTER of a border layout, which directions will the component stretch? A1. The component will stretch both horizontally and vertically. It will occupy the whole space
More informationScalable Vector Graphics (SVG) for the Mobile Domain
Scalable Vector Graphics (SVG) for the Mobile Domain Approved Version 1.0 17 Mar 2009 Open Mobile Alliance OMA-TS-SVG_Mobile-V1_0-20090317-A OMA-TS-SVG_Mobile-V1_0-20090317-A Page 2 (30) Use of this document
More information6.092 Introduction to Software Engineering in Java January (IAP) 2009
MIT OpenCourseWare http://ocw.mit.edu 6.092 Introduction to Software Engineering in Java January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
More informationProblems with Concurrency. February 19, 2014
with Concurrency February 19, 2014 s with concurrency interleavings race conditions dead GUI source of s non-determinism deterministic execution model 2 / 30 General ideas Shared variable Access interleavings
More informationSupporting Materials
Preface p. xxiii Introduction p. xxiii Key Features p. xxiii Chapter Outlines p. xxiv Supporting Materials p. xxvi Acknowledgments p. xxvii Java Fundamentals p. 1 Bits, Bytes, and Java p. 2 The Challenge
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 informationGraphical User Interfaces in Java Part 2
Graphical User Interfaces in Java Part 2 COMP440 Penn State Harrisburg April 17, 2007 Julia M. Lobur 1 Objectives Illustrate Swing look-and-feel. Demonstrate the relationship between concurrency and Java
More informationCS 2112 Lecture 20 Synchronization 5 April 2012 Lecturer: Andrew Myers
CS 2112 Lecture 20 Synchronization 5 April 2012 Lecturer: Andrew Myers 1 Critical sections and atomicity We have been seeing that sharing mutable objects between different threads is tricky We need some
More information1 OBJECT-ORIENTED PROGRAMMING 1
PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields
More informationCMSC 433 Programming Language Technologies and Paradigms. Spring 2013
CMSC 433 Programming Language Technologies and Paradigms Spring 2013 Encapsulation, Publication, Escape Data Encapsulation One of the approaches in object-oriented programming is to use data encapsulation
More informationProblems with Concurrency
with Concurrency February 14, 2012 1 / 27 s with concurrency race conditions deadlocks GUI source of s non-determinism deterministic execution model interleavings 2 / 27 General ideas Shared variable Shared
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 informationDocument Object Model (DOM) Level 3 Events
Document Object Model (DOM) Level 3 Events Specification Document Object Model (DOM) Level 3 Events Specification Version 10 W3C Working Draft 08 February 2002 This version: http://wwww3org/tr/2002/wd-dom-level-3-events-20020208
More informationB2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA
B2.52-R3: INTRODUCTION TO OBJECT ORIENTATED PROGRAMMING THROUGH JAVA NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE
More informationDocument Object Model (DOM) Level 3 Events
Document Object Model (DOM) Level 3 Events Specification Document Object Model (DOM) Level 3 Events Specification Version 10 W3C Working Draft 23 August 2001 This version: http://wwww3org/tr/2001/wd-dom-level-3-events-20010823
More informationUsing Beans to Build an Application Naming Patterns for Bean Components Events Bean Property Types
Course Name: Advanced Java Lecture 23 Topics to be covered Using Beans to Build an Application Naming Patterns for Bean Components Events Bean Property Types Using Beans to Build an Application Builder
More informationLecture 9. Lecture
Layout Components MVC Design PaCern GUI Programming Observer Design PaCern D0010E Lecture 8 - Håkan Jonsson 1 Lecture 8 - Håkan Jonsson 2 Lecture 8 - Håkan Jonsson 3 1 1. GUI programming In the beginning,
More 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 informationJava Concurrency in practice Chapter 9 GUI Applications
Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain
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 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 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 informationGetting Started with Java Development and Testing: Netbeans IDE, Ant & JUnit
Getting Started with Java Development and Testing: Netbeans IDE, Ant & JUnit 1. Introduction These tools are all available free over the internet as is Java itself. A brief description of each follows.
More informationIntroduction to concurrency and GUIs
Principles of Software Construction: Objects, Design, and Concurrency Part 2: Designing (Sub)systems Introduction to concurrency and GUIs Charlie Garrod Bogdan Vasilescu School of Computer Science 1 Administrivia
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 informationG51PGP Programming Paradigms. Lecture 008 Inner classes, anonymous classes, Swing worker thread
G51PGP Programming Paradigms Lecture 008 Inner classes, anonymous classes, Swing worker thread 1 Reminder subtype polymorphism public class TestAnimals public static void main(string[] args) Animal[] animals
More informationCITS3403 Agile Web Development Semester 1, 2018
Javascript Event Handling CITS3403 Agile Web Development Semester 1, 2018 Event Driven Programming Event driven programming or event based programming programming paradigm in which the flow of the program
More informationDocument Object Model (DOM) Level 3 Events
Document Object Model (DOM) Level 3 Events Specification Document Object Model (DOM) Level 3 Events Specification Version 10 W3C Working Draft 12 July 2002 This version: http://wwww3org/tr/2002/wd-dom-level-3-events-20020712
More informationDownloading and Running TF32J Time-frequency Analysis for Java. Paul Milenkovic Department of Electrical and Computer Engineering
Downloading and Running TF32J Time-frequency Analysis for Java Paul Milenkovic Department of Electrical and Computer Engineering cspeech@chorus.net TF32J Time-frequency Analysis for Java is an application
More informationType of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes
Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple
More informationG51PGP Programming Paradigms. Lecture 009 Concurrency, exceptions
G51PGP Programming Paradigms Lecture 009 Concurrency, exceptions 1 Reminder subtype polymorphism public class TestAnimals public static void main(string[] args) Animal[] animals = new Animal[6]; animals[0]
More informationQuiz on Tuesday April 13. CS 361 Concurrent programming Drexel University Fall 2004 Lecture 4. Java facts and questions. Things to try in Java
CS 361 Concurrent programming Drexel University Fall 2004 Lecture 4 Bruce Char and Vera Zaychik. All rights reserved by the author. Permission is given to students enrolled in CS361 Fall 2004 to reproduce
More informationDocument Object Model (DOM) Level 2 Events
Document Object Model (DOM) Level 2 Events Specification Document Object Model (DOM) Level 2 Events Specification Version 10 W3C Proposed Recommendation 27 September, 2000 This version: http://wwww3org/tr/2000/pr-dom-level-2-events-20000927
More informationObject-oriented programming in Java (2)
Programming Languages Week 13 Object-oriented programming in Java (2) College of Information Science and Engineering Ritsumeikan University plan last week intro to Java advantages and disadvantages language
More informationJava: Graphical User Interfaces (GUI)
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, and Bertrand Meyer Java: Graphical User Interfaces (GUI) With material from Christoph Angerer The essence of the Java Graphics API Application
More informationEvent Handling in JavaFX
Event Handling in JavaFX Event Driven Programming Graphics applications use events. An event dispatcher receives events and notifies interested objects. Event Listener Event EventQueue 1. ActionEvent 2.
More informationBuilding a Java First-Person Shooter
Building a Java First-Person Shooter Episode 2 [Last update: 4/30/2017] Objectives This episode adds the basic elements of our game loop to the program. In addition, it introduces the concept of threads.
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 informationJava for Interfaces and Networks (DT3010, HT10)
Java for Interfaces and Networks (DT3010, HT10) Mouse Events, Timers, Serialization Federico Pecora School of Science and Technology Örebro University federico.pecora@oru.se Federico Pecora Java for Interfaces
More informationThe Flying Saucer User's Guide
The Flying Saucer User's Guide Getting Started with Flying Saucer Release R6 May 2006 Table of Contents 1. 2. 3. An Introduction to Flying Saucer 1. What It Is 2. What It Does 3. What It's Good For 4.
More informationAnimation Part 2: MoveableShape interface & Multithreading
Animation Part 2: MoveableShape interface & Multithreading MoveableShape Interface In the previous example, an image was drawn, then redrawn in another location Since the actions described above can apply
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 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 informationJava Event Handling -- 1
Java Event Handling -- 1 Event Handling Happens every time a user interacts with a user interface. For example, when a user pushes a button, or types a character. 2 A Typical Situation: Scrollbar AWTEvent
More informationInternet Programming Week 10. Instructor: Paulo Fernandes Applied Computer Science University of Winnipeg
Internet Programming Week 10 Instructor: Paulo Fernandes Applied Computer Science University of Winnipeg Web Workers Slides only Threading Ever get a slow script message? Q) How could a script be slow
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 informationGive one example where you might wish to use a three dimensional array
CS 110: INTRODUCTION TO COMPUTER SCIENCE SAMPLE TEST 3 TIME ALLOWED: 60 MINUTES Student s Name: MAXIMUM MARK 100 NOTE: Unless otherwise stated, the questions are with reference to the Java Programming
More informationSystems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid
Systems Programming Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Leganés, 21st of March, 2014. Duration: 75 min. Full
More informationProgramming Language Concepts: Lecture 9
Programming Language Concepts: Lecture 9 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in PLC 2011, Lecture 9, 10 February 2011 The event queue OS passes on low-level events to run-time
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 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 informationSE 552: Lecture 9. Overview. Asynchronous method calls. Worker pools. Timers. Event loops. Polling IO
SE 552: Lecture 9 Overview Asynchronous method calls Worker pools Timers Event loops Polling IO Asynchronous method calls What is an asynchronous method call (a.k.a. one-way message)? public class MultiThreadedServer
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 informationBorland JBuilder 7 Product Certification. Study Guide
Borland JBuilder 7 Product Certification Study Guide Guía ofrecida por el Grupo Danysoft Primer Borland Learning Partner de España y Portugal Para realizar el examen o cursos oficiales preparatorios contacte
More information) / Java ( )
2002 3 2003.1.29 1 3 ( ) ( ) / Java ( ) 1 ( )? ( ) 2 (3 ) 3 Java Java Java (dynamic dispatch) ( ) import java.awt.*; import java.awt.event.*; public class Sample30 extends Frame { boolean go; double time;
More informationChapter 2. Network Chat
Chapter 2. Network Chat In a multi-player game, different players interact with each other. One way of implementing this is to have a centralized server that interacts with each client using a separate
More informationCSC207 Week 4. Larry Zhang
CSC207 Week 4 Larry Zhang 1 Logistics A1 Part 1, read Arnold s emails. Follow the submission schedule. Read the Q&A session in the handout. Ask questions on the discussion board. Submit on time! Don t
More informationCOMP3421 Computer Graphics
COMP3421 Computer Graphics Introduction Angela Finlayson Email: angf@cse.unsw.edu.au Computer Graphics Algorithms to automatically render images from models. Light Camera hi mum Objects model image Computer
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 informationHanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS
Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS Glossary of Terms 2-4 Step by Step Instructions 4-7 HWApp 8 HWFrame 9 Never trust a computer
More informationCasting -Allows a narrowing assignment by asking the Java compiler to "trust us"
Primitives Integral types: int, short, long, char, byte Floating point types: double, float Boolean types: boolean -passed by value (copied when returned or passed as actual parameters) Arithmetic Operators:
More informationRIA Teacher Gradebook Managing Millions of Students with Swing and Web Services: How we did it
RIA Teacher Gradebook Managing Millions of Students with Swing and Web Services: How we did it Deane Richan Pearson What we will cover Information about Pearson What's a Gradebook Architecture Overview
More informationNoopur Gupta Eclipse JDT/UI Committer IBM India
Noopur Gupta Eclipse JDT/UI Committer IBM India noopur_gupta@in.ibm.com 1 2 3 Show Workspace Location in the Title Bar (-showlocation) OR 4 Show Workspace Name in the Title Bar (Window > Preferences >
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 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 Interaction. Object Interaction. Introduction. Object Interaction vs. RPCs (2)
Introduction Objective To support interoperability and portability of distributed OO applications by provision of enabling technology Object interaction vs RPC Java Remote Method Invocation (RMI) RMI Registry
More informationThreads Questions Important Questions
Threads Questions Important Questions https://dzone.com/articles/threads-top-80-interview https://www.journaldev.com/1162/java-multithreading-concurrency-interviewquestions-answers https://www.javatpoint.com/java-multithreading-interview-questions
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationArrays, Exception Handling, Interfaces, Introduction To Swing
Arrays, Exception Handling, Interfaces, Introduction To Swing Arrays: Definition An array is an ordered collection of items; an item in an array is called an element of the array. By item we mean a primitive,
More informationGraphical Interfaces
Weeks 11&12 Graphical Interfaces All the programs that you have created until now used a simple command line interface, which is not user friendly, so a Graphical User Interface (GUI) should be used. The
More informationGetting Started with Java Development and Testing: Netbeans IDE, Ant & JUnit
Getting Started with Java Development and Testing: Netbeans IDE, Ant & JUnit 1. Introduction These tools are all available free over the internet as is Java itself. A brief description of each follows.
More informationMultiThreading 07/01/2013. Session objectives. Introduction. Introduction. Advanced Java Programming Course
Advanced Java Programming Course MultiThreading By Võ Văn Hải Faculty of Information Technologies Industrial University of Ho Chi Minh City Session objectives Introduction Creating thread Thread class
More informationProject 1. Java Control Structures 1/17/2014. Project 1 and Java Intro. Project 1 (2) To familiarize with
Project 1 and Java Intro Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX 76019 Email: sharma@cse.uta.edu
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 informationHow to be a Good Bean
How to be a Good Bean A JavaBeans component, or simply a Bean, is a reusable software component that can be manipulated visually in a builder tool. The JavaBeans 1.0 architecture specifies how a JavaBeans
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 informationAdvanced Java Programming Course. MultiThreading. By Võ Văn Hải Faculty of Information Technologies Industrial University of Ho Chi Minh City
Advanced Java Programming Course MultiThreading By Võ Văn Hải Faculty of Information Technologies Industrial University of Ho Chi Minh City Session objectives Introduction Creating thread Thread class
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 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 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 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 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 informationJava for Interfaces and Networks (DT3010, HT10)
Java for Interfaces and Networks (DT3010, HT10) More on Swing and Threads Federico Pecora School of Science and Technology Örebro University federico.pecora@oru.se Federico Pecora Java for Interfaces and
More informationRecap. Contents. Reenterancy of synchronized. Explicit Locks: ReentrantLock. Reenterancy of synchronise (ctd) Advanced Thread programming.
Lecture 07: Advanced Thread programming Software System Components 2 Behzad Bordbar School of Computer Science, University of Birmingham, UK Recap How to deal with race condition in Java Using synchronised
More informationBuilding Desktop Applications with Java. Eric Bader Vishal Agarwal
Building Desktop Applications with Java Eric Bader Vishal Agarwal Introductions Who are we? Core Engine Java dev team members. Who are you? ArcGIS Desktop developers/users? MapObjects Java users? Current
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" Chapter 16 Event-Driven Programming Of all men s miseries the bitterest is this, to know so much and to have control over nothing." " " " " " " "Herodotus
More informationCourse: CMPT 101/104 E.100 Thursday, November 23, 2000
Course: CMPT 101/104 E.100 Thursday, November 23, 2000 Lecture Overview: Week 12 Announcements Assignment 6 Expectations Understand Events and the Java Event Model Event Handlers Get mouse and text input
More informationIndex LICENSED PRODUCT NOT FOR RESALE
Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using
More information