Eclipse is a decent Java development environment… until it comes to you actually having to build desktop GUI apps. As of today, it seems to suck bigtime in this department.
So the mission is simple. I want to build a fairly straightforward GUI app, which has a bunch of frames and dialogs. Nothing fancy. I just want to have a simple visual editor for the GUI components, you know, like Visual Basic’s dialog editor or Xcode’s Interface Builder or NetBeans Design view. So that I can lay out text fields and buttons and things on the canvas and later manipulate them in code.
You’d expect that something basic like this would be as a core part of a Java development environment, right? Wrong. Eclipse doesn’t have something like this bundled. And getting the extra component to work is a major pain and I couldn’t do it.
Please note: 2007-10-03: Current official builds of the Visual Editor require Eclipse 3.2 (Callisto). The Visual Editor is migrating progressively to Eclipse 3.3 (Europa). Preliminary instructions on testing preview builds are available on the VE wiki.
So let me get this right. You have the Europa Eclipse build which is the latest official version. And you have the Visual Editor latest official version. But they don’t work together? And according to the wiki, I have to pull some weird components from some thirdparty site for it to work, or manipulate tons of XML configuration manually, or downgrade to the previous version of Eclipse?
I’m sorry, people. It fails short of my expectations for a production system. I shouldn’t have to go through this sort of crazy hoops and loops just to build one little silly GUI frame.
So until Eclipse gets their act together in the UI building department, they simply force me to stick with NetBeans for this purpose. Sure enough, NetBeans is in some ways less fancy than Eclipse. For example their context menus in the IDE have a non-native feel and suck a bit compared to Eclipse’s native feel on OS X. But hey, at least they have a non-retarded way of getting GUI editing to work, which is kind of important to me at this point, so I’m going ahead and going to use it for now.