Java Swing GUI Creator

Hey guys,
For swing gui I have recently been using GuiGenie to quickly create Gui for small projects but I feel like it’s a little too simple for me. Are there any other similar programs out there that offer a more advanced approach? Any that you guys recommend in particular?

PS: preferably free

Netbeans has a pretty decent editor.

This, I would highly recommend the nbeans editor

Eclipse has a plugin called WindowBuilder, that’s the most advanced GUI editor I used so far.
IMO, it’s better than Netbeans’ built-in solution and it doesn’t force you to switch IDE if you are used to Eclipse. :slight_smile:

For the love of Gosling, stay away from GUI builders. They hide what’s going on under the hood, which can be great at first, but then you’re screwed as soon as you need to add any amount of customization. They also create unreadable code, so you’re double-screwed if you have to go in and manually change something.

Write your GUI code by hand until you understand what’s going on. Then if you still want to use a gui builder, at least you’ll know what you’re getting yourself into. But chances are by then you won’t want to use one anyway.

That’s just my two cents, but I’ve seen enough people backed into a corner by starting out with a gui builder instead of actually learning how to code.

Have to agree with Kevin.

If you want to go the route of GUI builders, make sure that the GUI format is not source code. Android has a pretty decent xml format for everything GUI, but last time I checked I didn’t find anything similar for pure swing or SWT.

My personal recommendation is to skip GUI builders and instead download MIG layout: it gives a lot of power without being obtuse.

JavaFX I think is a pretty decent way to go. Tons of features, a lot of which are purely “make the coders life easier” features like the whole properties library. But the important thing here is that it has an XML format called FXML like Android’s, with Java controllers (but you can access elements straight from in-class fields you define rather than looking them up from ids, so one up on Android) and there is a very decent FXML editor (coded with JavaFX of course) which I think is easier to use than any other GUI editor I’ve used.

I’m not particularly sure why JavaFX is having such a slow adoption but if there is a reason then that reason is the downside.

+1 For WindowBuilder. It’s the best one I’ve tried.

I already know how to code Swing by hand. I just find that it takes a really long time and a lot of debugging to get what I want.

[quote=“junkdog,post:6,topic:50127”]
Never seen that before - looks like a big improvement on the Swing layout managers. Open source too.

If you’re making a UI application, like a game launcher, or something specifically for UI and not LWJGL panels (Stuff reliant on swing). JavaFX is the way to go, it has a TON of features to make the UI exactly how you want it, and there’s allot of themes out there for it.

The FXML-Java is really easy to, its really just an annotation (@FXML) and [icode]fxmlPane.lookup("#element");[icode]. Swing is out-dated and really ugly. JavaFX is great to know, its a wonderful library.

I (and others I presume) have been meaning to pick up JFX, you guys got any tips on good places to start?

The e(fx)clipse plugin: http://www.eclipse.org/efxclipse/index.html (SUPER useful)
Scene Builder 2.0 (FXML editor): http://www.oracle.com/technetwork/java/javase/downloads/sb2download-2177776.html
Amazing oracle tutorial: http://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm
JavaFX docs: http://docs.oracle.com/javase/8/javase-clienttechnologies.htm

Hi

Personally, I prefer going on using Swing, I talked about that here. I agree with KevinWorkman. I’m forced to use Netbeans GUI builder (Matisse) at work but I find it useless because I already understand Swing, I already follow some guidelines, it just makes me waste my time, it just helps some colleagues who want to modify the appearance without really understanding what they are doing and anyway when it gets broken, only those who are able to go deeper than the builder can repair those GUIs. JavaFX isn’t the panacea even though now what you can do with Swing has become doable with JavaFX but there is not yet any dialog API.

Originally I thought this was a major problem, but then I threw together my own dialog api in a few minutes. It’s not the most feature heavy thing (basically just takes a scene and puts it into a dialog box) but it was the simplest thing in the world to make and it works perfectly. And then there are some really good dialog libraries out there.

But as I said in my last post, the great advantage of JavaFX over Swing (for me) is that it is just so much nicer to work with. The API is similar enough to Swing that it is easy to pick up, but with far greater usability and a whole load of features stuck in. JavaFX even has 3D graphics and I’m not talking about beveled buttons.

But I digress.

Its 3D API has most of the same design flaws than Java3D <= 1.5, it has inconsistent performance across platform, it is very poor in comparison with most 3D engines written in Java available for years. The charting API is a better example in my humble opinion.

I agree the 3D is fairly poor. It’s still very new and I don’t doubt it will be improved in time. I was just trying to give an example of the extra features in JavaFX. I also agree that the charting API is a better example.