Desktop Technology in Mustang

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming Lecture 10 API Review; Where Next.
Advertisements

17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Adobe Flash CS4 – Illustrated Unit E: Optimizing and Publishing a Movie.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Processing Processing is a simple programming environment that was created to make it easier to develop visually oriented applications with an emphasis.
Agenda What is BIRT? BIRT Features and Report Gallery Scripting BIRT
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
1 GUI Elements in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
ICS 665 Jesse Abdul. jQuery UI Overview  jQuery UI javascript library Includes all UI component functionality  jQuery UI CSS framework Includes standard.
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
With Alex Conger – President of Webmajik.com FrontPage 2002 Level I (Intro & Training) FrontPage 2002 Level I (Intro & Training)
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Struts 2.0 an Overview ( )
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Supervisor: Victor Kulikov Oded Duek Aviv Grinblat Final presentation Spring 2010.
OCLC Online Computer Library Center CONTENTdm Migration Training Craig Yamashita Vice President, Technology and Product Development DiMeMa, Inc. July 2005.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
Java Programming, 3e Concepts and Techniques Chapter 2 - Part 2 Creating a Java Application and Applet.
Slides © Marty Hall, book © Sun Microsystems Press 1 Including Files & Applets in JSP Documents Core Servlets & JSP book:
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
IE 411/511: Visual Programming for Industrial Applications
Agoracast: Design and Tools Review David Wallace Croft Senior Java Architect CroftSoft Inc Talk-Java/Drink-Java Las Colinas, Texas.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
1 k Jarek Rossignac,  2008 Processing  Install Processing  Learn how to edit, run, save, export, post programs  Understand.
1 Introduction to Applets. 2 Applications Programs that execute using the java interpreter Executes in command windows.
A Little More Mihail Stoynov mihail.stoynov.com mihail.stoynov.com.
Java Applets. 2 Introduction to Java Applet Programs  Applications are stand alone programs executed with Java interpreter executed with Java interpreter.
CHAPTER TEN AUTHORING.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Andreas Enbohm Capgemini Sverige AB Java SE 7 (Dolphin) or ”The Future is Nigh”
Java Applets. 2 Introduction to Java Applet Programs Applications are ___________________ programs –executed with Java interpreter Applet is a small program.
CSC 205 – Java Programming II Applet. Types of Java Programs Applets Applications Console applications Graphics applications Applications are stand-alone.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Proprietary & Confidential Java WebStart Created by Bob Hays.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
13. JavaFX. 2 JavaFX Intro Sun's answer to –the popularity of scripting languages –problems with Java GUI AWT is very basic Swing is too complex, too.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Differences Training BAAN IVc-BaanERP 5.0c: Application Administration, Customization and Exchange BaanERP 5.0c Tools / Exchange.
© 2012 LogiGear Corporation. All Rights Reserved FitNesseFitNesse Authors: Nghia Pham 1.
Presented By:. What is JavaHelp: Most software developers do not look forward to spending time documenting and explaining their product. JavaSoft has.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Adobe Flash Professional CS5 – Illustrated Unit E: Optimizing and Publishing a Movie.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Xxx Presentation, No 1 Copyright © TAC AB Engineering Classic Networks1.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
A Programming Language for Web-based Computing with Graphics
Microsoft Access 2007 – Level 2
With Microsoft FrontPage 2000
JDK 1.6 change summary D. MANIKANDAN.
Java Applets.
PHP.
Microsoft PowerPoint 2007 – Unit 2
F II 1. Background Objectives
Plug-In Architecture Pattern
Presentation transcript:

Desktop Technology in Mustang

Index 1.Mustang Milestone Releases 2.Java 2D API in Mustang 3.AWT Enhancements in Mustang 4.I18N in Mustang 5.Deployment in Mustang 6.JFC/Swing in Mustang 7.Mustang Other 8.Dolphin

Milestone Releases Merlin 2002/2/ Hopper 2002/10/ Mantis 2003/5/ Tiger 2004/9/30 6 Mustang 2006/10 7 Dolphin 2008/H2

Mustang Milestone Releases Beta1 2006/02/16 Beta2 2006/06/15 Release Candidate 2006/09 Final Release (FCS) 2006/10

Java 2D API in Mustang Sub-pixel text, aka LCD text LinearGradientPaint, RadialGradientPaint Faster ImageIO image loading Better small curve quality More Mustang 2D features, not covered here Improved OpenGL® pipeline performance Linux fullscreen support New Image I/O plugin: GIF writer New applet animatio

Sub-Pixel Text Plain Antialiased Sub-pixel

Sub-Pixel Text: Details Plain:Anti-Aliased: Sub-Pixel:

Sub-Pixel Text: How-To In most cases, it will just work Swing picks up desktop and font settings Standard components will use same font rendering properties as native applications Custom components/rendering java.awt.RenderingHints.KEY_TEXT_ANTIALIASIN G In settings where desktop properties do not exist (e.g., Windows 2000) -Dawt.useSystemAAFontSettings=lcd

New: MultipleGradientPaint Abstract for gradients with multiple colors Superclass for gradients below CycleMethod for areas outside endpoints NO_CYCLE: Extend color at endpoints outside area REFLECT: start-end, end-start REPEAT: start-end, start-end

New: LinearGradientPaint Values from 0-1 determine where colors change Colors for each of those values Start and end points on Shape CycleMethod

New: LinearGradientPaint Point2D start = new Point2D.Float(0, 0); Point2D end = new Point2D.Float(getWidth(), 0); float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.RED, Color.WHITE, Color.BLUE}; LinearGradientPaint p = new LinearGradientPaint(start, end, dist, colors); g2d.setPaint(p); g2d.fillRect(0, 0, getWidth(), getHeight());

New: RadialGradientPaint Point2D center = new Point2D.Float(50, 50); float radius = 25; float[] dist = {0.0f, 0.2f, 1.0f}; Color[] colors = {Color.RED, Color.WHITE, Color.BLUE}; RadialGradientPaint p = new RadialGradientPaint(center, radius,dist, colors);

ImageIO Performance Improvements

Better Curve Quality Tiger Mustang

AWT Enhancements in Mustang Major enhancements Tray icon (Based on JDIC) Splash screen Desktop class (Based on JDIC) Other changes Focus Top levels Text input Modality enhancements and API Stability

Tray Icon : Usage // Construct a TrayIcon TrayIcon trayIcon = new TrayIcon(image, "Tray Demo",popup); // Set the TrayIcon properties trayIcon.addActionListener(actionListener); // add the tray icon SystemTray.getSystemTray().add(trayIcon);

Splash Screen Allows displaying a splash screen before the JVM software start GIF, PNG and JPEG images supported Transparency, translucency and animation su pported Closed automatically on first top-level window display

Splash Screen : Usage Display from command line java -splash:image.gif TheApp Display from MANIFEST.MF Splashscreen-Image: image.gif Painting SplashScreen splash = SplashScreen.getSplashScreen(); Graphics2D g = splash.createGraphics(); // your painting code here splash.update();

Desktop Class package java.awt; public class Desktop { static boolean isDesktopSupported(); static Desktop getDesktop(); boolean isSupported(Desktop.Action action); void open(File file); void edit(File file); void print(File file); void browse(Url url); void mail(); void mail(URI mailtoURI); }

I18N in Mustang Locale Sensitive Services SPI ResourceBundle enhancements Flexible ResourceBundle loading and cache control Normalizer API A new API set that conforms to the Unicode Standard (Annex #15) Japanese calendar support

Locale Sensitive Services SPI Provides SPIs for the java.text and java.util packages SPIs conform to the standard Java Extension Mechanism SPI Providers can Offer their own locale sensitive service implementations for locales that the JRE does not support Provide localized names for locales that the JRE currently does not provide

SPI Example // Date Format example DateFormat df = DateFormat.getDateInstance(PigLatinLocale); Date today = new Date(); System.out.println(df.format(today)); // Locale name example String name = Locale.US.getDisplayName(PigLatinLocale); System.out.println(name); Output: “Uesdaytay, Aymay 16, 2006” “Englishway (Unitedway Atesstay)”

Deployment in Mustang Deployment toolkit for browsers JRE detection, JRE deployment, and JNLP application launching from the browsers Unified download engine for Java Web Start and Java Plug-in software Improve download and caching support JAR indexing, HTTP compression, HTTP cache control, offline support, flexible update policy, CD install,… Java technology cache viewer

Deployment in Mustang Improve user experience in Java Web Start and Java Plug-in software Improve user experience in JDK/JRE software installer Improve security Certificate validation—OCSP and CRL Password protected keystore Save password option for login

Deployment in Mustang Improve desktop integration ICO support PNG support Better Windows and GNOME shell integration Complete Firefox browser support Automatic proxy detection with WPAD Default Java technology on Linux Direct execution of JAR files on Linux

JFC/Swing in Mustang Enhanced and improved platform look and feels SwingWorker Layout enhancements Including GroupLayout—basis for Matisse Drag and drop enhancements True double buffering Text printing JTable sorting and filtering Tabs as components

Enhanced and improved platform look and feels GTK Glacier ThemeGTK Crux ThemeVista 6Vista 5.0

SwingWorker Makes it easy to offload work to separate thread Makes use of concurrency package Generified Supports partial results Supports PropertyChangeListener

Drag and Drop Enhancements Drag no longer requires selection to be made first! Specifying The Drop Mode Enum: USE_SELECTION (old behavior), ON, INSERT, ON_OR_INSERT… Implemented on JTree, JList, Jtable and JTextComponent Determining Legal Drop Location

Specifying The Drop Mode // Install TransferHandler table.setTransferHandler(new TreeTransferHandler()); // Configure how the table determines drop locations // and provides drag over feedback. table.setDropMode(DropMode.ON);

Determining Legal Drop Location class TreeTransferHandler extends TransferHandler { // Called repeatedly during drag and drop. Passed in // object is queryable for dnd information. public boolean canImport(TransferSupport ts) { if (ts.isDrop() && ts.isDataFlavorSupported(FILE_F)) { JTree.DropLocation dropLocation = (JTree.DropLocation)ts.getDropLocation(); // Get the path the mouse is over TreePath pathOver = dropLocation.getPath(); if (validPath(pathOver)) { // If the path the mouse is over is valid for the // specified files, return true. return true; } return false; }

Processing Drop class TreeTransferHandler extends TransferHandler { // Called to accept the drop (or paste). public boolean importData(TransferSupport ts) { if (canImport(ts)) { JTree.DropLocation dropLocation = (JTree.DropLocation)ts.getDropLocation(); // Get the path the user dropped over TreePath pathOver = dropLocation.getPath(); // Extract the files from the Transferable List files = getFiles(ts.getTransferable()); processDrop(files, pathOver); return true; } return false; }

JTable Sorting and Filtering Add sorting to your JTable with one method call setAutoCreateRowSorter(true) Ability to specify your own Comparators Also supports secondary, tertiary sort columns Can specify a filter to limit what is shown Regular expression, number and date implementations provided

JTable Sorting TableRowSorter rowSorter = new TableRowSorter(model); // Using a different Comparator rowSorter.setComparator(0, new FileNameComparator()); // Sort the contents on the first column rowSorter.setSortKeys(Arrays.asList( new SortKey(0, SortOrder.ASCENDING))); // Install the RowSorter. // If you don't need to customize the RowSorter, use // JTable.setAutoCreateRowSorter(true); table.setRowSorter(rowSorter);

Mustang Other Interest JConsole plugin API Class-path wildcards Free disk-space API Password prompting javax.swing.GroupLayout JAX-WS can do RESTful web services

Apache Derby in Mustang Derby: A small-footprint standards-based embedded relational database engine Will be co-bundled in Sun’s Mustang JDK Will not be in the JRE (it’s too big) Is not a required part of the Java SE 6 specification Will implement all the new JDBC 4.0 software features

Language Changes in Dolphin Property support Language for getFoo()/setFoo() pattern Method References addActionListener(reference updateList) Block Closures Native XML Support

Dolphin Scripting Languages Turbo-charging scripting engines ‘The Beanshell Scripting Language’ (JSR 274) Bundling more scripting engines

Dolphin Modules

super package org.foo.document { // super-package exports: export org.foo.pictures.MyImageInterface; export org.foo.text.*; // super-package members: org.foo.pictures.MyImageInterface; org.foo.text.* org.foo.raw.data.*; }

Dolphin Swing Development ‘Beans Binding’ (JSR 295) TS-1594: Best Practices: Data Binding ‘Swing Application Framework’ (JSR 296) TS-3399: A Simple Framework for Swing...

Reference