We've just published Jeff Friesen's new article, Reading Newsfeeds in JavaFX with FeedRead. This article is a follow-up to Jeff's recent article Learn about JavaFX's APIs for Reading RSS and Atom Newsfeeds. The earlier article provides an introduction to JavaFX's newsfeed capabilities; the new article shows how to take those capabilities and apply them to create a snazzy little JavaFX feed reader application.
Jeff built and tested FeedRead using NetBeans IDE 6.5.1 and JavaFX 1.2. The application can be run in stand-alone mode, or within a web browser. Running the app in a web browser provides the advantage that when you click on a feed item, the full article will be loaded into a new browser window.
Jeff provides large snippets of the code that performs the key functions for the app, and talks about what the individual sections do, and why certain elements that might appear surprising had to be that way. Because JavaFX is so young a technology, there are still some work-arounds that are required when you build an application of any complexity. For example, Jeff refers to Amy Fowler's JavaFX 1.2: Layout post in describing why it was necessary to subtract flowRef.layoutBounds.minX in the layoutX: bind statement (and also do the equivalent for layoutY).
It all goes back to the question of coordinate systems that has always been a part of graphics development: is the position or offset you're working with in absolute coordinates, or is it a relative coordinate? Programming it the wrong way can produce some surprising and often-times dazzling results, that may cause the developer to burst out in laughter and subsequently spill their coffee all over the keyboard. So, you do want to be careful to get relative versus absolute coordnates right in each situation.
Another aspect of JavaFX's newness: bugs in the platform itself that may not have quick work-arounds when you develop an application. For example, in Jeff's app, JavaFX issue JFXC-3431: Signed javafx-applet does not get focus before html page area is clicked rears its ugly head, causing the text box to not always receive focus when FeedRead runs as an applet. To reassert the proper focus, you need to reload the applet or switch to another browser window, then come back to window where you're running FeedReed. In addition, there is an oddity wherein active buttons are sometimes grayed out, as though they were disabled, when that's not really the case.
In sum, Reading Newsfeeds in JavaFX with FeedRead is an excellent demonstration of how to apply JavaFX's newsfeed capabilities to develop an application, runnable in stand-alone mode or within a browser.
I'll close this discussion by pointing you to Jeff's "Happy Holidays" JavaFX app, which won the recent JFXStudio Holiday Challenge:
Ok, so did you hear the news about Bluetooth 4.0? Now, you many be wondering, “Why are they announcing all these new features in Bluetooth 4.0, when there’s hardly any 3.0 devices available?”. True, I agree with you there — I wish that there would be more Bluetooth 3.0 devices available so that my camera can download pictures to my PC, which I think will be one of the major use cases for Bluetooth 3.0. Now, before I explain Bluetooth 4.0, I want you all to do a little experiment for me...
1. Out-of-the-box experience: with a single download, you get not only the IDE with all useful plugins, but also an application server (Glassfish v3) and an integrated database (Derby DB). The whole procedure takes few minutes and is dead simple. The only thing what can go wrong is installing the application server (Glassfish) to a directory, which contains spaces in its name on Windows. The Java package (is actually Java EE) is 146 MB for Mac OSX, but the feature list is impressive: profiler, debugger, SQL / DB explorer, JSF 2.0 editor with (CDI / EJB 3 databinding) auto-completion, sub second incremental deployment (=deploy on save), maven, ANT, Hudson, JIRA, SVN, mercurial support, HTML editor, nice Swing WYSIWYG editor, JSR-311 (REST), JSR-181 (SOAP) support...
The recordings of the JavaEE 6 and GlassFish v3 Virtual Conference are now available. Slides are also available. Registration is required in both cases; enjoy! The VC was a great success; more info on it after the Holiday break...
In today's Weblogs, I'm including a new post by Cay Horstmann, and two posts that were temporarily lost during the recent java.net outage.
Java EE 6 has three different ways of defining “beans” that are “managed” in one way or another. Here is a quick recap. JSR 314: JSF 2.0 introduced annotations to avoid the tedium of declaring managed beans in faces-config.xml ...
Eclipselink 2.0 includes an annotation processor for generating the static metamodel classes from your Entity classes for use with the Criteria API which is one of the new features in JPA 2.0. Here is an example of generating the metamodel classes from the command line using the Eclipselink annotation processor...
This is 1.0.0 release of GlassFish gem. This release is based on GlassFish v3 final release. Unlike other gem releases which used to get posted on the RubyForge gem repo. Now its pushed to Gemcutter. The end result is pushing is easy and the gem is available moments after its pushed. Also now I can see how many of each release get downloaded. To install, simply type the following on a JRuby installation...
In the Forums, mobilist is having problems rendering page created through Graphics Object with Sliding Transition: "Dear All! I am trying to render a set of pages with few components Like Menu Bar, Title Bar , Texts and some Images created through LWUIT Graphics object on a single Form. I am able to display the pages normally, but..."
cain05 gets a Glassfish V3 exception in JPADeployer when trying to deploy: "When I try to deploy my EAR I get an exception. I'm using Hiberate as my JPA provider. I downloaded hibernate using the update tool. I even tried using the hibernate jar files from my GF v2.1 install but they don't work either..."
noelopan is trying to use the JXMultiThumbSlider: "Has anyone succeeded in using this component? I see that even the swingx demo ignores it. There doesn't seem to be a default track or thumb renderer."
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.