Welcome to the very first Easter edition of Java desktop links of the week 🙂
I hope you all had a great easter, had a chance to spend time with family, and didn’t eat too much chocolate. Perhaps because of the short week, there has been far less news this week than normal. Let’s get started:
- Danny Coward (@theplanetarium ) has an interview with Tor Norbye, discussing Tor’s thoughts regarding JavaFX . Tor recently shifted into the JavaFX team, so it is good to hear his thoughts from a newbies perspective.
- Danny Coward posts about work going on to improve the performance of JavaFX , and includes links to tips that you can use to improve your JavaFX applications.
- Following on from this, Jim Connor has a blog post about reducing the node count in JavaFX applications as a means of improving performance .
- Another performance article, this time by Jeff Frieson , offers a means to reduce memory footprint by using a CustomNode alternative .
- Another post by Jeff Frieson continues his series of posts exploring the JavaFX API . This post focuses on the JavaFX media, GUI construction, and effects APIs.
- Jim Weaver (@JavaFXpert ) has a post about using the singleton design pattern in JavaFX to share a model .
- Additionally, Jim Weaver has a post about invoking JavaFX functions from Java .
- Alexandr Scherbatiy has a post that demonstrates how he has created a simple function plotter in JavaFX . Given the simplicity of the code, this is an impressive demo!
- Rakesh Menon has a post detailing how to load images in JavaFX .
That’s it for another week. Have a great week and keep up the hard work in whatever you’re passionate about! 🙂
Just a short post to anyone who uses Google Collections in their applications and ProGuard to obfuscate their code: it won’t work because of the way Google Collections has been architected since around the 1.0-rc release.
To get around this, simply include the following in your ProGuard config script:
To quote the Proguard manual , this instruction:
Specifies not to ignore non-public library classes. By default, non-public library classes are skipped while parsing library jars. The classes are typically not relevant during processing, since they don’t affect the actual program code in the input jars. Ignoring them reduces memory usage and processing time. Occasionally, a badly designed library may contain a non-public library class that is extended/implemented by a public library class. If the latter library class in turn is extended/implemented by a program class, ProGuard will complain that it can’t find the non-public library class, which it had ignored during parsing. This option will overcome that problem, at the cost of greater memory usage and longer processing time.
Once this is done, the build should proceed as normal. In some circumstances (such as mine), your build may run out of memory. In this case, up the memory to the build script by adding the following VM arguments:
Of course, you can vary that based on the memory requirements your build needs.
Hope that helps!
Here are your Java desktop links of the week. It’s been an interesting week to be a Java developer, given the rumours swirling around a potential acquisition of Sun as soon as this week. Who knows, next weeks post might be SWT links of the week 😉
Regardless of what happens, have a great week, and don’t work too hard.
- The ‘learn ‘ page on JavaFX.com is being frequently updated, as alluded to by this blog post, which includes links to a number of tech tips for JavaFX programmers of all skill levels .
- Sergey Malenkov posts an interesting revelation when calling certain Java code from JavaFX . In particular, JavaFX has a number of keywords that are not in Java, such as ‘insert’, ‘delete’, etc. Because these are keywords, you can not call a method such as obj.delete(), without first wrapping the delete method call with << and >>, for example: obj.<<delete>>(). I hope that sooner (rather than later) this can be resolved – the JavaFX compiler surely should be able to discern between the two use cases and remove the need for this.
- Josh Marinacci (@joshmarinacci ) posts the winners of the first JavaFX micro-challenge . Not surprisingly, the 3 prizes went to the 3 entrants.
- Jeff Frieson posts how to create a skinnable button in JavaFX .
- JavaFX.com has a tutorial on how to create a media player in JavaFX .
- DevX.com has an article on how to get started with creating JavaFX applications for mobile devices .
- Jim Weaver (@javaFXpert ) posted another JavaFX puzzler , as well as his recommended solution to the puzzler . This puzzler focuses on animation in JavaFX.
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 .
Wow – it’s March already – where does time go? Here are the links from the last week that I think were important – as always, email/twitter/courier pigeon me any news that you think is relevant. Have a great week!
That’s it for this week! A very sparse news week, so if I’ve missed anything, please let me know! Have a great week.