There is a huge number of links this week, so let’s get straight into it.
- The Limewire blog has a post about creating floating panels using the MigLayout .
- A number of people got in touch with me regarding the Chartle project , which allows for charts to be created using a webapp. The user interface is partially built using Swing.
- James Strachan (@jstrachan ) posts that he met James Gosling , and in the course of the discussion James Gosling notes that he is very keen to get JWebPane into the JDK.
- A few weeks back, Željko got in touch with me regarding his Swing project , Revolucion Library , which is an awesome looking media player for Java. He has clearly put a lot of effort into it, and is now sharing with you some of the tricks he learnt. He has two posts, one about the cover gallery he created , and the other about creating a Java-based YouTube video player .
- I was contacted earlier this week by Tim Mouradian regarding his software My Money , which is a commercial project but built entirely using Swing.
- Kirill Grouchnikov (@kirillcool ) has created a new skin for his Substance look and feel project, called Dust .
- In addition to the skin, Kirill has also posted Amber, an application which analyses social trends in various networks (Digg, Twitter, etc), and animates the information using his Trident animation library mentioned last week. This is only very weakly related to Swing, but you should definitely check it out.
- Finally, just before this post went out, Kirill announced he has done a mini-review of the latest release of Woopra client , which is a web analytics tool. Kirill’s mini-review, as with any UI enthusiast, focuses on the polish that this application has in its user interface.
- It’s competition time! Joshua Marinacci (@joshmarinacci ), with the backing of Sun, has announced two JavaFX competitions . There are cash prizes, ranging for $1000 up to $25,000, as well as advanced copies of JavaFX books. Stop reading this post and get coding! 🙂
- Ken Orr , never failing to impress, has created a simple JavaFX tray component , which oozes polish.
- Rakesh Menon posts about lighting effects in JavaFX , and has a simple webstart application to let you play with various effects.
- Rakesh , busy as usual, also poses the rhetorical question ‘can JavaFX speak my language’, and then proceeds to answer this by showing how you can get JavaFX to show custom fonts .
- Sergey Malenkov has posted a JavaFX-based fullscreen application that mimics the sidebars offered by Microsoft, Google, etc.
- Jim Conner posts about bindstorming , that is, the issue with using too much binding in a JavaFX script application. He also highlights how it is possible to reduce the use of binding, whilst still retaining the same end result.
- Ravi Dharnikota , on the JavaFX blog, shows how to improve the startup performance of your webstarted JavaFX application .
- Eric posts a JavaFX Bubble Breaker game , including code and a webstart link .
- Jim Weaver posts about including Java3D in your JavaFX application .
- Somewhere I come across the memefx JavaFX controls project . Just a pointer, if you’re going to watch the YouTube video on that page, mute the audio.
That’s it for another Java Desktop links of the week. I have kept the details of each item shorter given the number of links – I hope that is alright with everyone! Have a great week, and keep up the good work progressing the Java desktop!
Given the lack of news related to Swing recently, I think it’s getting to the point where I think another rename of this series is in order, this time to JavaFX links of the week 😉 Regardless, on with the news:
General GUI News:
- The JavaOne 2009 sessions have been allocated and announced. You can search the sessions here . More information about JavaOne is available on Suns JavaOne website . Whoever is sending me my plane and conference tickets is leaving it very late 🙂
- Kirill Grouchnikov (@kirillcool ) continues with his Trident animation library . This library does not necessarily animate Swing components, hence it being included in general GUI news. In general, Trident is a high-performance timeline framework, allowing for large numbers of interrelated timelines to be created.
- Surgey Surikov started a discussion about ‘what JavaFX examples do developers want ‘, based on feedback given to this question, which was originally asked by Josh Marinacci (@joshmarinacci ). Make sure to read the comments for further discussion and analysis of the results.
- In a post titled ‘what does JavaFX mean for you ‘, James Sugrue attempts to clarify JavaFX’s place in the Java ecosystem. Once again, read the discussion comments at the end.
- Continuing on with the series, Michael Heinrichs has posted part 5 of his best practices for JavaFX mobile applications . There are three tips included in this post, which are:’define variables with def instead of var. Make them script-private’, ‘use Integer instead of Number’ and ‘use functions of class Sequences’.
- Markus Kohler (@kohlerm ) has a post about some high numbers related to JavaFX memory usage .
- As always, JFXStudio (here ) has a number of interesting examples, but the most interesting one for me is tareitasfx’s post about a JavaFX collapsible pane , with a webstart link .
- Rakesh Menon posts about a Sudoku game he has developed in JavaFX . Most interesting is his use of CSS to easily skin the game. Webstart the game here .
- Rakesh Menon also has a post about the BlendMode effect in JavaFX . This effect merges two nodes (such as images) in various ways, depending on the effect chosen. There is a webstart link as well .
This week there is a rather large amount of JavaFX news, but very little Swing news. I guess this is a sign of the times 🙂
- Coming into my feed reader after posting this blog, I thought I’d quickly add that Ken Orr has a blog post about creating a custom HUD-style combo box.
- Alexander Potochkin has blogged that the Swing Application Framework is back again. For more background, check out this interview with Hans Muller, back when the project was first approved. SAF has had a turbulent life, most recently with Karsten Lentzsch disapproving of its current state, and whether or not it actually will make it into Java 7 is yet to be seen.
- InformIT has a post discussing playing media in Java using JMC. All code samples are written in Java, not JavaFX Script.
- Regarding Swing 2.0, in the 13/02/09 podcast of This Ain’t Your Dad’s Java!, Sun’s Java marketing team has briefly discussed the recent discussion around Swing 2.0. You can listen to the podcast here if you have iTunes (skip forward to around the 5:00 mark. It continues until around the 9:15 minute mark). Their general perspective was that people wanting Swing 2.0 are trolling, whiney and fanboys. Also, despite their protests that Swing is strong, they inferred a number of times that Swing is on its way out. I found their means of communication to be somewhat condescending and rude, but perhaps that’s just me. For marketing people who are putting out the opinion of Sun, I found this to be disappointing.
- Michael Heinrichs continues his best practices for JavaFX mobile applications with part 4. This post has two tips: use the prescaling functionality and use background loading. I referred to the previous three parts in last weeks post, but for quick references, here they are again: parts 1, 2 and 3.
- Sergey Malenkov has a small code sample of how to use text reflection to add the overused reflection effect to a digital clock. My advice, use reflection with caution, and the simplicity of adding reflection scares me – JavaFX GUIs presently look like toys without the need for over the top reflection!
- Osvaldo Pinali blogs about his improvements to JavaFX Balls, which implements the Bubblemark animation test. He has managed to port it to work on mobile devices, and whilst he has published a webstart demo, the link isn’t presently working.
- Simon Brocklehurst has a blog post titled ‘JavaFX eats its own dogfood‘ that talks about a simple application that lets you manipulate rectangles, and see the resulting JavaFX code. There is a webstart link that you can use to run it.
- There is a brief overview of how JavaFX handles (or ignores) NullPointerExceptions. Despite his requests for a discussion, there doesn’t appear to be any comments.
- Jan Erik Paulsen has an opinion piece on JavaFX, claiming that Sun is pulling a ‘Netscape rewrite’ with JavaFX.
- Per Bothner has two posts about writing a read-eval-print loop in JavaFX. A REPL (also called a command shell) allows you to type in expressions, have them be immediately evaluated, and the result displayed. This is very useful for experimenting with or learning a language.
- Johan has a post about creating a JavaFX asynchronous chat client.
- As always, Josh Marinacci (@joshmarinacci) is keen that you check out JFXStudio for lots of cool JavaFX samples.
Another quiet week, and one in which I have been somewhat distracted with SCJP study (exam on Wednesday!). Despite this, below is the important news for the Java desktop that has occured in the last week.
- Michael Galpin, a software architect at eBay, has posted an article on IBMs developerWorks site that discusses how to create mashups with JavaFX. I would say that this would be very useful for JavaFX developers out there wanting to get their head around connecting to web services, and parsing the data coming from them.
- Josh Marinacci, of Sun Microsystem, has set up a new website, JFXStudio, that aggregates a number of blogs related to JavaFX development. Its focus is on showing demonstration programs and the associated code. This will be a good resource for JavaFX developers!
- Speaking of Josh Marinacci (his ears must be burning), RIA Weekly had him as a phone-in guest on their latest show, where he discusses the current and future state of JavaFX. It’s worth listening to if you have a moment.
- Stephen Chin has announced JFXtras 0.3 has been released. This release adds support for JavaFX 1.1, plus includes a JavaFX version of MigLayout for doing layout of JavaFX Nodes. Because JavaFX 1.1 is not binary compatible with JavaFX 1.0, you will have to upgrade to this release if you want to use JFXtras for JavaFX 1.1 development.
- There is an article on Wikia that discusses how to add Swing components into JavaFX applications. This is very good and clear, focusing on the necessary code required for each component.
That’s it for this week! Now, back to my study – two more days to go 🙂 Have a great week!
Righty, for various reasons that may or may not become obvious in the coming weeks and months, I have decided to dive into JavaFX. Of course, this will help with my weekly Swing links post, but that isn’t the main reason. I want a crash course. I will set aside this weekend, and I will learn what it takes. I want to focus on performant, correct, JavaFX. I don’t intend to cut a great deal of code right now – I’d rather learn what the building blocks of JavaFX are, and how they all fit together. Regardless, when it does come to cutting code, I’d prefer to use Eclipse as it is my environment of choice, but I think that it is likely I’ll be needing to get an appreciatin for NetBeans.
I’ll try to put up my own ‘mini-review’ of JavaFX next week sometime. You never know, I might be a convert 😛
If you have any recommended resources, please, let me know.