by Jonathan Giles | Feb 3, 2013 | Links
Hi all – welcome to another weeks worth of links – enjoy! 🙂
- Java 7 7u13 was released this week, and along with this release comes JavaFX 2.2.5. It is highly recommended that everyone upgrade to the latest release as soon as possible.
- Jasper Potts has posted a blog about Modena, the new theme for JavaFX 8.x. I must say that having been watching it develop over the last few months (and giving my 2 cents of feedback) that it is a huge improvement over Caspian, the theme used in JavaFX 1.x and 2.x. Leave your feedback on the blog post about what you like and dislike – it is impossible to please everyone but there is still time to improve things (indeed, there are still things I would like to see changed too!) 🙂
- Danno Ferrin has noted (via his excellent OpenJFX mirror over at bitbucket) that a few very nice new features are starting to appear in the JavaFX 8.0 repositories, including printing API and improved API granularity for embedded support.
- Speaking of Danno, he has blogged about how he has added support for adding application icons with the Gradle JavaFX plugin.
- Dierk König has posted part four of his JavaFX abacus tutorial.
- The Panemu blog has announced the TwiulFX 1.1 is now available for download. TiwulFX provides custom JavaFX components specially designed to work with Java POJO objects. It has 2 main components: TableControl, Form; and also customized column and input components to display a specific data type.
- Patrick Martin has posted Dex Tutorial #7: Java Garbage Collection Analysis. Dex is a visualization application written using JavaFX.
- Arnaud Nouard has blogged about his ‘undecorator‘ tool, which allows you to easily ‘add a better look to your JavaFX stages’.
- Johan Vos is seeking feedback regarding API design in DataFX.
- Andy Till has posted code to allow for easy Region resizing by mouse click and drag. Whilst he states this doesn’t work for UI Controls (as in JavaFX 2.x UI controls didn’t extend from Region), this should work in JavaFX 8.x as UI controls do extend from Region from this release onwards.
- Leon Atherton has blogged about mouse events in JavaFX. This is a good read for anyone new to the event handling system in JavaFX.
- noxxxxo has posted a YouTube video showing a Raspberry Pi running the JME C64 emulator using JavaFX as the rendering technology. You can see the code over at GitHub.
Catch you all in a weeks time 🙂
by Jasper Potts | Jan 28, 2013 | Charts, Controls, CSS, UI Design
We have been working recently on a new theme for JavaFX 8. The current theme for FX, named Caspian, is showing its age and we wanted to take the opportunity to give JavaFX a face lift for 8. Because folks have created custom controls and designs for their app, we needed to make sure that selecting the theme was something that you could opt-out of. We will be providing both API and command line switches in 8 to allow you to specify caspian specifically. If you do nothing, you’ll get Modena, our new theme, by default. Without further ado this is what it looks like:
(more…)
by Jonathan Giles | Jan 27, 2013 | Links
Welcome to the last links for January 2013 – time sure is flying these days! Enjoy 🙂
That’s us for another week. Catch you again in a weeks time! 🙂
by Jonathan Giles | Jan 21, 2013 | Links
Hi all – welcome to another weeks worth of links! There are a heap of links, so lets get straight into it! 🙂
JavaFX
JavaFX & Raspberry Pi
Catch you all next week!
by Jonathan Giles | Jan 13, 2013 | Links
Here we go with another weeks worth of links! Enjoy 🙂
JavaFX
- Danno Ferrin has released 0.1.0 of the JavaFX Gradle plugin. This release includes improved Scenic View support.
- Gerrit Grunwald has begun hacking on controls for JavaFX 8.0 (based on the in-development APIs available in the developer preview). You can see his work in his Enzo project.
- Speaking of custom controls, Hendrik Ebbers has put up part three of his ‘Custom UI Controls with JavaFX‘ tutorial.
- Dierk König has posted a good tutorial to help people new to JavaFX learn the basics.
- Speaking of Dierk, he has also posted a YouTube video that demonstrates the OpenDolphin portfolio demo application.
- Marco Jakob has two blog posts this week. Firstly, he has posted about slight improvements he has made to a DatePicker control (originally built by Christian Schudt). Secondly, he highlights the very useful snapshot feature of JavaFX to take screenshots of a running application.
- The Java Source blog has posted three video interviews with Jim Weaver, Gerrit Grunwald, and Martin Gunnarsson / Pär Sikö.
- Pedro Duque Vieira has added CSS styling for the JavaFX ComboBox and ToggleButton controls as part of his JMetro project.
- The TiwulFX blog has posted on how to provide different colours to CSS charts.
- Anton Epple has a long post about writing a tile engine in JavaFX.
- Andy Till continues to improve his EstiMate software estimation tool.
- Leon Atherton has blogged about setting AffineTransform and Font in JavaFX and FXML.
- Thierry Wasyl has shown the text tool he has added to his DrawFX application
- Steven Schwenke has posted about creating hover panes in JavaFX applications for context-specific actions.
- Robert Ladstätter has a number of posts that may be of interest to readers, including ‘Scala JavaFX Archetype‘, ‘Testing with JemmyFX, JavaFX and ScalaTest‘, ‘A sine wave with JavaFX and Scala‘, ‘2D Water Effects with JavaFX and Scala‘, ‘Lets go green and plant some trees‘ and ‘JavaFX Tree Visualization Part 2‘.
JavaFX and Raspberry Pi
- José Pereda has posted about NXTBeeFX: “A JavaFX based app for Raspberry Pi to control a Lego NXT robot wirelessly”.
Catch you all next week!
by Jonathan Giles | Jan 6, 2013 | Links
Hi all. Welcome to the first post of the new year! I hope you all had a chance to wind down for a few days over the holidays. I did, but it’s great to be back at work now as I have a lot to get done this year! Today is my sixth wedding anniversary, so please excuse the brevity! Anywho, let’s get into the links 🙂
JavaFX
JavaFX and Raspberry Pi
That’s all for this week. Catch you all in a weeks time 🙂
by Jonathan Giles | Dec 30, 2012 | Links
Welcome to the last JavaFX links of the week for this year! Obviously with the festive season in full swing this week is a relatively quiet week, but nonetheless I have some interesting links for you to read. Enjoy, and have a good new years and start to 2013! Catch you in a weeks time! 🙂
- Stephen Chin has announced his plans to go on another night hacking tour, this time taking in the Nordic countries between January 25 and February 7.
- I was given a (virtual) clip around the head by Ed Thompson for his issues when dealing with the JavaFX ComboBox control. Fortunately most issues are on their way towards being resolved, and as always I’d love to work with people feeling pain in any UI control to develop improvements and / or review patches based on the OpenJFX source code.
- Hendrik Ebbers has started playing with JavaFX on Raspberry Pi. He has been investigating using DataFX and GridFX on it, and has posted some videos to show progress.
- Andy Till has open sourced a JavaFX application that he has been developing called EstiMate.
- Narayan Maharjan has posted part two of his 3D Object (cube) ‘concept to code’ series of posts.
- Thierry Wasyl continues to develop his DrawFX application, and has posted an update with his latest progress.
That’s all for this year – catch you all again next year when we do it all over again! 🙂
by Jonathan Giles | Dec 23, 2012 | Links
It’s Christmas eve here and there is a huge number of links, so please excuse the brevity – I want to get back to family and food! 🙂
JavaFX
- Pavel Safrata announced that a bunch more JavaFX code was open sourced this week, including animations, timelines, the scenegraph interface and prism implementation, etc.
- The developer preview of Scene Builder 1.1 b15 is now out, with support for Linux. You can read the release notes to learn what is new in the 1.1 release cycle.
- Dolphin 0.4 has been released. Check out the changes.
- The December issue of JAX Magazine has an article written by Johan Vos on DataFX.
- Danno Ferrin has updated his approach to mirroring the OpenJFX project on bitbucket.
- Jim Weaver has posted a video showcasing a number of features contained within the JFXtras project.
- Bruno Borges has posted a video of his WebFX project, which is essentially a JavaFX-based web browser that can browse both HTML and FXML ‘websites’.
- Marco Jakob has posted part six in his series of tutorial blogs for JavaFX, this time focusing on JavaFX deployment with e(fx)clipse.
- Additionally, Marco has three further posts this week, with the following titles: “JavaFX Event Handlers and Change Listeners“, “JavaFX TableView Cell Renderer” and “JavaFX TableView Filter“.
- Patrick Moule has posted about “Building and packaging of JavaFX applications with Gradle“.
- Ed has posted “JavaFX from the Trenches – Part 1 – Native Packaging“. Note that the article is split over five pages.
- Canoo have announced that they are offering JavaFX consulting and training.
- TiwulFX has put up a website and video of their improvements to the JavaFX TableView control.
- Leon Atherton has posted about “Integrating JavaFX with Swing: The JFXPanel“.
- Toru Takahashi has a page detailing building a standalone JavaFX JAR consisting of multiple jar files.
- Thierry Wasyl has posted two videos of his DrawFX prototype.
- There are a few posts this week related to JavaFX being used in alternative languages. Sanshiro Yoshida has a post about tic-tac-toe written in Clojure, cocoatomo has a post about using JavaFX from Jython, and Asko K has posted about “adding ‘condapply’ to Scala, for natural JavaFX bindings“.
- Terada Yoshio has posted about building a Java EE 7 WebSocket client sample application with JavaFX.
JavaFX and Raspberry Pi
Wow, that took a long time to write! Catch you all again next week – and I wish you all a great festive season.
by Richard Bair | Dec 18, 2012 | News
BrickBreaker running on a Raspberry PI
Today Oracle has released the first JavaSE 8 + JavaFX Developer Preview. This is really exciting for anybody who’s wanted to try out the $35 Raspberry PI ARM mini-computer (and I do mean mini!). Incidentally, anybody who picks one up really needs to get the Pi-Bow enclosure for the PI — I got one yesterday and highly recommend it!
JavaSE is a HotSpot based VM, so it is really quite zippy. I did some timing calculations on my PI this morning based on the prime number test provided in this Raspberry PI Java forum posting. Yes, there is a new Java category on the Raspberry PI forums, do visit and leave your experiences there :-). Anyway, I ran both Java and GCC version 4.6.3 with -O2 performance optimization enabled.
Test |
Real |
User |
Sys |
JavaSE 8 (build 1.8.0-ea-b36e) |
0m7.830s |
0m4.970s |
0m2.840s |
GCC 4.6.3 (Debian 4.6.3-12+rpi1) |
0m7.716s |
0m4.990s |
0m2.700s |
GCC 4.6.3 (Debian 4.6.3-12+rpi1) -O2 |
0m6.361s |
0m3.940s |
0m2.400s |
I find the results really impressive, because basically the difference seen between Java and native is just due to the startup costs. Which means that Java is a really great choice for developing applications that will run on the Raspberry PI. Java also represents (to my knowledge) the first VM stack to optimize for hard float on ARM v6.
I couldn’t help myself though, I cranked up the test to find all prime numbers below 50,000 to see if the startup costs in fact are the difference between the JVM and native code. Below are the results. As you can see, HotSpot is faster than native code!
Test |
Real |
User |
Sys |
JavaSE 8 (build 1.8.0-ea-b36e) |
1m37.808s |
1m25.570s |
0m12.000s |
GCC 4.6.3 (Debian 4.6.3-12+rpi1) |
2m18.875s |
2m7.390s |
0m11.1300s |
GCC 4.6.3 (Debian 4.6.3-12+rpi1) -O2 |
1m42.166s |
1m31.206s |
0m10.580s |
I wrote a quick JavaFX application this morning and tried it out. A couple things to make sure you note!
- jfxrt.jar is not on the classpath by default (yet). So be sure to include it!
- -Djavafx.platform=eglfb must be specified. If not, it won’t run.
- Ahem. There appears to be no way to kill an FX app, unless you can SSH into your box or switch to another terminal. Or have your app make sure it has an exit button. But then, when playing BrickBreaker, who’d ever want to stop?
None of the flags used in javaFX on the command line are “public API” and may go away in the future, but this particular flag is likely to be around for a while. It lets you choose which version of glass to run with. On Raspberry PI, right now, the only option is eglfb (which makes you wonder why we require you to specify it on the command line. There are some questions that we just shouldn’t ask ;-)). Basically EGLFB runs OpenGL on the frame buffer directly, meaning that it wants to own the entire screen. This is great for Kiosks and media centers and such, but not so good for normal X11 usage. Hopefully the X11 usage shows up sometime soon, but in the meantime, JavaFX will own the display.
You should go read the developer preview documentation and also Stephen Chin’s blog on PI. JFokus has a Raspberry PI hands on lab, which is already fully booked, but I’m betting you can get Simon Ritter to give you some material if you want to try at home :-).
Have fun hacking over the holidays!
by Jasper Potts | Dec 18, 2012 | CSS
Google has been kind enough to pull together a collection of great free fonts at http://www.google.com/webfonts. For ages I have wanted a easy way to use these in my JavaFX applications. This week I added basic support to JavaFX for CSS @font-face support (see RT-10343). It should be going into JDK 8-b69 which will be available later this week.
(more…)