Java FX Bloggers

Are you going to be in London on the 24th of November? If so, be sure to see the Eclipse Demo Camp which will be showing the latest JavaFX support for Eclipse, in addition to other new Eclipse features.

Attendance is free but you must register with SkillsMatter. Details are on the page. The new Eclipse support for JavaFX is starting to look pretty nice.

Transformation in JavaFXWhile developing JavaFX applications, I always feel the great potential of transformational effects.

At the same time, I wonder how they actually work and why we need several classes and variables to perform the same transformation.

Share my experience of studying the essentials of transformations in the new technical article Enhance Your Application by Applying Transformations.

With the code samples provided in this article, you can learn how to employ transformations in your applications and combine them with animation.

Alla Redko
Technical Writer
JavaFX Docs & Training

One of our latest articles shows how to program an image slideshow in JavaFX. Users can learn this material in two different ways: by reading the article text itself, or by watching a video screencast.

We're considering adding more screencasts to future articles, but would like to first collect opinions from you, our readers.

Questions:
  1. Do you find screencasts useful, and if so, why?
  2. Do you find it easier to learn by reading a written tutorial, or by watching a video screencast?
  3. Would you prefer that we produce more tutorials (and less screencasts), or more screencasts (and less tutorials)?
By taking just a minute to answer these questions, you will greatly help to improve our documentation.

Thank you,

Scott Hommel
Technical Writer
JavaFX Docs & Training
Typical how-to pageWhen you're developing a JavaFX application, how many times do you get to a point in the code and say to yourself "How do I do that?" and then you have to go searching for the answer. We writers found we were asking that question a lot. So we developed a set of how-to topics. Check 'em out:

http://javafx.com/learn/howto.jsp

The main categories are organized in the order in which you'd develop an application from start to finish. Some topics contain a number of subtopics. For example, the topic How do I work with shapes? contains separate topics on creating a variety of different shapes.

Whenever possible, topics include basic code that you can copy and paste into your application. Topics also contain links to other articles, samples, blogs, and videos that have more information on the topic.

There's space at the bottom of each topic for feedback. Let us know how you like this new feature, and if you can't find the answer to a question, be sure to make a note of it!

Josh Marinacci has just launched a new open source tool for creating interactive art, written entirely in JavaFX. See the launch page for the full description.

Want to make an image slideshow for use on your website? Find out how, with our latest tutorial and screencast from technical writer Scott Hommel. With these instructions, you'll walk through the end-to-end development of an image slideshow application, complete with animated fade transitions. The discussion is presented as six concrete steps, with each step building on the last. Get to the fun stuff with minimal effort by copying and pasting the source code, or just watch the video screencast to see it all developed with NetBeans IDE. 

Image Slideshow tutorial

Site Updates:

 What's New on javafx.com learn:

Here are some recent blogs and articles about JavaFX :

 Here are a couple of links to JavaFX apps that were left as comments in the previous round up post: 

 In News related to contests: 
  • Jim Weaver has announced the JavaFXpert RIA Exemplar Challenge  : Deadline - Jan 2010
  • "Create an application in JavaFX that exemplifies the appearance and behavior of a next-generation enterprise RIA (rich internet application)"

  • Thje next jfxstudio challenge - (theme : five) is now closed. You can visit the site to see some of the submissions, learn about the results or learn about the next contest theme.
  • You can also read about, and see the code for Jasper Potts submission to an earlier contest : the radial clock - at the FXperience blog 

Events:

Releases: 

  • new version of WidgetFX, which includes some new functionality, including a new slideshow widget and support for 64-bit systems has been released

As you may know, we've had a mobile emulator built into the JavaFX SDK since our 1.1 release back in February, but only if you were using Windows as your development platform.  Well, if you are one of the many JavaFX developers that uses a Mac as their primary development machine, we have a couple of solutions for you.

The first option is to get a Windows Mobile-based device and install our JavaFX Mobile runtime.  This runtime has been tested on the HTC Diamond and the LG Incite, but should work on a wide variety of Windows Mobile 6.1 or 6.5 devices.  Once you have the runtime installed, you should be able to build and deploy apps directly to this device from within Netbeans.  If you would like to learn more about how to use this runtime, check out this blog entry by Terrence Barr.

And now, I'm excited to let you know that we've just released an Early Access build of the Java ME SDK for Mac OS X.  With this release, you can build your mobile apps in Netbeans and then run them in an emulator using the Java ME SDK, directly on your desktop!  (Note: we'll integrate this better in the future, but for now you can build your apps in NetBeans and then open them in the Java ME SDK, a relatively simple two step process).  Go download a copy, give it a try, and let us know what you think! 

We've updated the Tech Test Train. The new version features cumulative scoring and improved performance. The final score of a completed Route carries over to the next Route. A perfect game score is 27,000 points. Will you be one of the first to join the 303 club? Try this new version and post your score in the comments section of the JavaFX Training page.


Tech Test Train Route image

If you're attending Oracle OpenWorld this week, we'd love you to come by and see what we've been up to!  We've been very busy preparing for this event and are excited to show you everything we've been working on.  First up on the agenda, Sun's SVP for Client Software, Jeet Kaul, will be giving a talk entitled "Relentless Innovation in Java" at 11:30AM on Monday at the Marriott (Salon 4).  He's promised he'll spend about 50% of the time on demos so it should be a fun and engaging session and you may even see a couple of unreleased product previews.  Don't miss out!


The Java team has a number of other sessions they'll be giving throughout the week, and will also be exhibiting at both Moscone South and the Hilton (Oracle Develop).  For more details on these and other activities, please click here

Here are some of the interesting blogs and articles about JavaFX published in the last couple of weeks:

Continuing our collaboration with San Jose State University (SJSU), this week we would like to highlight a project developed by Steven Le who is a 4th year under graduate student pursuing BS in Software Engineering at SJSU. This project was developed under the guidance of Dr. Jerry Gao who is a professor at SJSU and was developed in a span of three days. This goes to show that even students with no prior knowledge of the JavaFX language or design experience could pick up JavaFX and create something really simple and usable. The project being highlighted is a typical Calendar Book with ability to flip pages, add pre-loaded icons for various events such as birthday, meeting, dinner etc, and Inline text editing to add a new appointment. 

 

More about  Steven Le - in his own words :


I'm in my 4th year at SJSU pursuing a BS in Software Engineering. My interests include learning about new technologies, especially in mobile and web development. On the side, I like to mess around with digital design and multimedia type things. Outside of computers, I can enjoy the more active outdoor activities like scuba, water sports, camping, hiking, and sky diving, but most of the time, I'm playing regular sports like basketball and tennis. Basically, I'm just into trying new things.

Two of our JavaFX tutorials are now available in Russian on developers.sun.ru:

If you're working as a designer on RIAs and exporting graphics to JavaFX with Production Suite, it's very helpful to know the features in your graphics tool that are supported for export.

The lists of supported features for Adobe Illustrator, Adobe Photoshop, and SVG format have been available in the Production Suite online help, which is installed with the product, but now they are available on javafx.com, too.

Learn how to easily improve the visual appearance of your JavaFX applications with two new docs added to the Layouts, Effects, Themes section of our main Reference page.

Have you ever tried to make a shift in rendering textual content by applying a custom font? Read Using Custom Fonts in Your JavaFX Application, a technical tip provided by Dmitry Kostovarov. This tech tip describes how to make the text look just the way you want on any computer.

Benefit from different layout approaches discussed in Using Layout Containers by Inyoung Cho and Alla Redko. Play with the Flower Viewer demo to learn more about layout containers and choose the most appropriate model to arrange pictures in your application.

Flower Viewer Application

http://blogs.sun.com/javafx/resource/expertAssistance.png

Sign up as a JavaFX expert at Liveperson.com ! Liveperson.com is the world's largest marketplace for finding and providing expert advice. 

You can solve JavaFX problems and get paid for doing so!  

Decide how much you want to charge, potential customers then check out your credentials, and LivePerson takes care of the rest!  They'll even help you collect your fees before your services have been provided!

Take the JavaFX Survey !  

Help drive the direction of JavaFX training and certification. The JavaFX team is designing a comprehensive curriculum for Java developers. The primary objective of the curriculum is to enable developers to use JavaFX technologies to build rich internet applications. We're looking for your input on the topics and tasks to include in the training.

Survey Closes Sept 16 ! 

The folks over at JFXStudio have started a new coding challenge: "Small is the New Big". This time they are going to try something different. Harkening back to the demo scene of old, this month’s challenge is to build something interesting with a very small amount of code: 30 lines in a single file!.

The challenge starts on September 8th when the secret theme will be revealed, and the last date to send in your entry is September 30th. See the rules for more details.

The Tech Test Train game has a new feature !

Now, the game will auto-complete your answer as you start to type the correct answer. This feature helps you complete your answer within the 15-second time frame. 

http://blogs.sun.com/javafx/resource/game

Try it and give us your feedback!

[The Tech Test Train game, an interactive eLearning game built entirely with JavaFX 1.2 technology.]

For the first time JavaFX was taught as a credited course at San Jose State University this Summer. It was taught by Sun Engineers in collaboration with the Software Engineering department at SJSU. Overall the enrollment was very enthusiastic with over 25 students participating. The course mainly focused on fundamentals of JavaFX scripting language, hands on lab sessions and a final project. This course has given an option to students at SJSU who are pursuing their final year MS to look into JavaFX technology to implement their project work. We will be working with SJSU and any other universities interested in incorporating JavaFX into their teaching curriculum in the coming months.

http://blogs.sun.com/javafx/resource/IMAGE_050_sm.jpg http://blogs.sun.com/javafx/resource/IMG_0037_sm.jpg

If you are a Netbeans user and you have been waiting to upgrade to 6.7, we have now posted a copy of Netbeans 6.7.1 on JavaFX.com that bundles the JavaFX 1.2 SDK.  If you are interested in see what's new with Netbeans 6.7.1 you can check out the release notes here.  One of the cooler features is Kenai integration enabling the creation and editing of Kenai hosted projects from within the IDE. Another cool feature is the Zembly Web API Gateway making it easy to consume webservices from Amazon,Yahoo, Twitter, etc with just a couple of lines of code.

Or you can just download it and figure it out for yourself!

The winners of the JavaFX Blog Contest have just been announced. Congratulations to all 10 winners! Read these blog entries to learn about Coding an image gallery in JavaFX, learning JavaFX,  Programming games in JavaFX and much more.

 In related news, you can read an interview with Sten Anderson - the JavaFX coding contest winner, and also see what the student winner of the contest has to say. 

 

 

Get a hands-on introduction to JavaFX technology when you play the Tech Test Train, an interactive eLearning game built entirely with JavaFX 1.2 technology. The eLearning game tests your knowledge of the JavaFX technology and provides prescriptive feedback at the end of the game.

The Tech Test Train showcases the many features of JavaFX technology including:

  • UI Components and Controls
  • Media player
  • Animation
  • Layout mechanism
  • XML parser
  • Reuse of Java classes
  • XML-based configurable UI
  • Dynamic Object Allocation (binding and triggers)
In addition, many graphics used in the game are developed by a Graphic Designer who has exported the graphics into JavaFX-readable format using the JavaFX Production Suite.

Ride the train, answer JavaFX questions, and earn points!

Terrance has a great blog covering the new JavaFX Mobile 1.2 Early Access for Windows Mobile. Read it here.

Terrance's blog includes a screencast demonstrating how to get started and how to run a sample application (Mosaic) on the HTC Diamond, including using the deploy-via-USB feature.

(Reposting an email we received from Sang Shin over the weekend)

The 1st session of the "Free 15-week JavaFX Programming (with Passion!)" online course ended as of today (July 25th, 2009) with participation of ~4000 people.

The 2nd session of the course will start from Aug. 25th, 2009. For registration, all you have to do is to send a blank email to the following email alias

javafxprogramming-subscribe@googlegroups.com

This course runs very much like a regular college course in which the students are expected to do weekly homework after studying the presentation material and doing the hands-on lab but it is free and can be taken online.  There is also class email alias where students can ask/answer questions.

For more information, please go to the course websites below.

Course topics: http://www.javapassion.com/javafx/#Topics
Course website: http://www.javapassion.com/javafx
Course FAQ: http://www.javapassion.com/coursefaq.html

Congrats to Sang Shin and Jim Weaver on a highly successful first session and for all of you that missed out on your first chance to sign up... make sure you register today!

I am very excited to announced that we have posted an early access release of the JavaFX Mobile runtime to enable people to begin developing and running JavaFX applications on real devices!  The runtime package is designed for use with select Windows Mobile handsets and also includes the Sun Java Wireless Client, giving you everything you need to get started today.  While we've tested (and will be supporting) this package on the HTC Diamond and the LG Incite, you may be able to run it on other Windows Mobile devices as well, although your mileage may vary.

If you purchased an JavaFX-enabled HTC Diamond at JavaOne, we recommend that you update your device to this release.  Although not required, you may also want to uninstall your previous release before installing and then make sure you install to "internal storage."  We still have more work to do and will be updating this stack again in the future, but go ahead and grab yourself a copy, have fun, and talk to us about it!

Reviews Interactive recently spoke with JavaFX developer Fabrizio Giudici, a prominent and highly-respected blogger in the JavaFX community who writes regularly for both Java.net and DZone. Fabrizio said he is particularly interested in using JavaFX on mbile devices, which he stated is a great

platform to give applications “all the bells and whistles.” Read more ...


Note: This post is the first in a series of ongoing interviews Reviews Interactive is conducting with product experts who use various Sun technologies and blog about their experiences to both share their insight and examples, as well as help other developers better understand these technologies. Reviews interactive will talk to these experts to discuss new product updates and releases, how they are utilizing the technologies in their current projects, and what they hope to see in the future. 

We are absolutely thrilled that Indaba has launched the Indaba Session Console 2.0 using JavaFX.  Although they started with Flash, they found that JavaFX enabled them to provide their users with a more powerful and more flexible experience.  Some of the top benefits include:

  • Play and Record High-quality audio
  • Apply audio effects in real-time
  • Simplified workflow (record directly into the tool, no need for separate, third party audio recording tools)
  • online/offline mode (selecting "save" publishes to cloud

But rather than listen to us talk about it, hear what Indaba has to say!  Or perhaps you'd like to know what Weezer's Rivers Cuomo thinks about it? (taken from Indaba's press release):

"I got different companies contacting me all the time trying to get me excited about their products, and most of the time I just don't care. But this particular application, the Indaba Music Console caught my fancy.  It's like a simplified version of any of these complex professional recording programs that no one like me knows how to use. It's going to open the door for a giant population of musicians out there, a giant resource for somebody like me."

(he also said some nice things about JavaFX in a video that we'll hopefully be able to share with you in the future - and by the way Rivers, we love you too!)

If you want to check it out you can sign up for an account (free & paid membership options available) at Indabamusic.com!

If you're a Mac user and access javafx.com pages with embedded applets,, such as the JavaFX samples or documents on the Learn page, you may have noticed a new warning popping up, even for applets you've run before:

This new dialog box is appearing because Apple has changed to a site/URL-based security model in one of its recent Java updates. You can keep this message from popping up repeatedly by selecting the checkbox that says Allow all applets from "javafx.com" access.

Here's a quick-and-easy video player written in the JavaFX Script programming language. First, place your video clip into the same directory as this source code. Next, edit the code in red (clip name, scene with, and scene height) to match your particular video. Finally, compile and run the program. Clicking on the screen will pause/unpause playback.

Step 1: Add Import Statements

import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.media.*;

Step 2: Define Media-Related Variables

def vid = "{__DIR__}video-clip.flv"; // CHANGE AS NEEDED

var isPlaying = false;

def myMediaPlayer = MediaPlayer {
        media: Media {source: vid}
}

def myMediaView = MediaView {

    onMousePressed: function(event){

        // take action
        if(isPlaying){
            myMediaPlayer.pause();
        }else{
            myMediaPlayer.play();
        }

        // toggle play state
            isPlaying = not isPlaying;
    }

    mediaPlayer: myMediaPlayer
}

Step 3: Render Player

function run(){
    Stage {
        title: "JavaFX Video Player"
        scene: Scene {
            width: 800 // CHANGE AS NEEDED
            height: 600 // CHANGE AS NEEDED

            fill: Color.BLACK
            content: [myMediaView]
        }
    }   
}