Checked exceptions are painful. I could write a long article about it,
but there are more than enough good blogs describing this problem. My favorite article is written by Rod Waldhoff.
From my point of view the existence of the InvocationTargetException clearly shows the problem.
Imagine you call a method which throws an exception, you properly catches it
and then you decide to rewrite the...
on Mar 21, 2011
We have all read the "Effective Java" book and know that we should prefer interfaces over abstract classes.
This is a known and respected pattern which should be used wherever possible.
However the years in the JDK team tauhgt me not to blindly trust
to good practices from the world of application programming.
A distinctive feature of the JDK is backward compatibility.
on Mar 11, 2011
I truly love the Swing GUI toolkit, I enjoy its flexibility, opennes and great abilities.
I know that some people say that Swing is too difficult to learn,
and I partly accept it because it took me several years working in the Swing team
to get the whole picture of the AWT, Java 2D and the Swing itself.
The Swing history counts more then 10 years and it is definitely not about end.
on Mar 10, 2011
The first rule of Swing programming is to always interact with Swing components in the Event Dispatch Thread (EDT, for short). Swing is single-threaded (as a lot of UI toolkits are) and as such it can only makes guarantees about the state of Swing components when interacted with properly on the EDT. Some Swing methods are thread-safe, such as JComponent.repaint. Recently, I...
on Jan 19, 2011
I am pleased to announce the release of Apache Pivot 2.0. Apache Pivot is an open-source platform for building installable Internet applications (IIAs) in Java. This major update includes a number of significant enhancements including:
Support for dynamic data binding
Pivot 1.5 and earlier supported data binding via a load/store model that maps well to client/server applications such as REST...
on Jan 19, 2011
Often code has a bad smell, then it gets time to replace custom lines by common patterns. Sometimes it even makes sense to even replace a single line of code by a class just wrapping that single line (which actually increases code size), if that makes readers better understand what the code does. Unfortunately often such patterns are publicly known but do not exist as ready to...
on Jan 1, 2011
After more than a decade in the Java universe, today I had just enough of remembering where my executable JARs are located and typing all the lengthy path names, so I finally taught Windows to deal with Java archives just the same way as it deals with it's native executables EXE and CMD. The trick is so simple that I actually do not understand why the JRE installer isn't applying it automatically...
on Dec 29, 2010
We are making progress on the next release of Leonardo, an open source desktop Java drawing program. One of the key features scheduled for the next release is a webservice that lets users save and share reusable symbols they've created. For example, someone could create a set of GWT mockup widgets, then share this set with others.
The challenge I face is that I'm mainly a client side developer....
on Dec 7, 2010
Ruby Red, the first full release of Leonardo Sketch is ready for download. Leonardo is a desktop open source drawing program written entirely in Java. In this first version of Leonardo, features include:
Full vector drawing with shapes, paths, groups, and images.
Export to PNG, PDF, SVG, and HTML Canvas.
Sharing via Email and Twitter
Integrated Flickr image search
Installer builds for windows...
on Nov 22, 2010
Last week, I updated my local copy of the SwingX source code, modifying SwingXUtilities to inlcude an invokeLater and an invokeAndWait that support return values. I plan on checking in that code sometime today. In one of those strange coincidences, Swing links of the week pointed me to Jan Kotek's post: SwingUtilities.invokeAndWait with return value. It's a good article,...
on Nov 15, 2010
Google maps was a useful hit from the moment it went on line. Since then thousands of web pages have added map capability to their sites, courtesy of Google. Let me illustrate how you can add Google maps to your Java application.
Google furnishes its maps via a simple REST request. Does this mean you need to add some fancy REST framework to your application? Not at all! Java provides...
on Oct 16, 2010
Content available at: http://blogs.sun.com/arungupta/entry/java_ee_6_glassfish_silicon
on Oct 15, 2010
The question of how to combine Swing and Apache Pivot components comes up often enough that I thought I would write a quick blog entry about it.
Pivot doesn't currently support embedded Swing components. However, it is possible to use Pivot components within an existing Swing application. The following demo shows a number of Pivot components hosted in a JInternalFrame; another internal frame...
on Oct 12, 2010
A decade from now 90% of people will use phones, slates, or netbooks as their primary computing device. This is a very exciting development in the software world and promises to reshape the way we make software (check out the great stuff our lead developer is doing in his day job at Palm), but Amino isn't for that world. Amino about that 10%: the content creators who need killer desktop apps, the...
on Oct 9, 2010
My name is Haim Michael, I am the General Manager for Zindell Technologies and I am an eternal student and a lecturer. I chose to develop the abelski web site for the benefit of all people world wide. I have started to develop it in November 2007 and I continuously update its courses and add new ones. All courses on this web site are available for free personal and academic usage.
on Oct 4, 2010
Surely one of the biggest announcements at JavaOne 2010 was the new roadmap for JavaFX, laying out the journey towards a 2.0 release that will be radically different from what had gone before -- not so much evolution, as total revolution. While the details, when they arrived, contained a fair few surprises, the overall radical nature of the roadmap was not totally unexpected; many had suspected...
on Sep 24, 2010
The biggest announcement - and the biggest surprise for many - of JavaOne 2010 was certainly Oracle's new plans for JavaFX 2.0... or, should we say, Swing 2.0?
The history of JavaFX has been contentious since its beginning, when it was clear that FX was a new toolkit, even a new platform, while most people in the brave Swing community wanted a "Swing 2.0". Well, this is basically what...
on Sep 23, 2010
I mentioned during my BOF at JavaOne a new component that is close to ready for moving into SwingX: JXScrollMap.
Part of the way that SwingX works is that members first join the incubator project. Members contribute ideas to the incubator, flesh them out, and eventually bring them into SwingX. The incubator contains lots of stuff from really mature ideas to things that aren't. Some of the ideas...
on Sep 22, 2010
The SwingLabs BOF had a good number of attendees (more than last year I believe). Jan and I focused the update on SwingX, but did speak about JXLayer some. We also announced the release of version 1.6.2. As promised, I have uploaded the presentation.
All in all, I think it has been a very positive convention for SwingX (so far). I spoke about SwingLabs/SwingX at the end of...
on Sep 21, 2010
As it became almost a tradition we have rolled out next SwingX release just before the SwingLabs BOF at JavaOne last night.
You can get the release from our website, or directly from the java.net or also from the maven central repo. Please note that the artifactID has changed from swingx to swingx-core due to changes in the structure of the project.
Thanks a lot to all who contributed to...
on Sep 21, 2010