I have a general question : to use or not to use a gui designer ? That is the question !
On one side you are preaty quick and you can deliver your soulution faster (ok not always) but on the other side a gui means more than what you see on the screen and this under all aspects(design patterns, threading, ...) so you lose on all the other Software Life Cycle aspects.
Hi, It more depends on your project if you need dynamic form (GUI) generation from some OLAP + metadata ,... hard codeing is best approach , also when you use hand made beans , probably you will need hard code.
when :you know the forms and GUI would not change in future using gui builder is fast and best way , but code generated by GUI builder are not easy readable and does not met best performance , (i used jbuilder 5 years ago).
It hard to admint that a "GUI would not change",ok you don't chhange it every day but at least at some time periods you update it. An other bad stuff is that some gui desingnes birg some extra "goodies" and if you pack them in your code you 'll need them always. Also when you need to change your patform/JVM is a problems (parts you can solve it with independent build tool like ant& ..) and the gui designer has problems with the new patform/JVM.
You can get some pretty source code if you use IntelliJ IDEA. For example, the code to make a very complex panel where all the widgets do nothing except for one button looks like this:
Yup, that's hand-written source code with no layout or component assembly code at all. All the gui assembly code is silently injected during compilation! I've found that the IDEA panel designer is very non-intrusive (the only constraint is that each panel needs to be associated with a unique class, although if you use inner classes you can get a bunch of panels into a single source file).
"Pat H", We're pleased to have you here with us in the <forum> forum, but there are a few rules that need to be followed, and one is that proper names are required. Please take a look at the JavaRanch Naming Policy and adjust your display name to match it.
In particular, your display name must be a first and a last name (not just initial) separated by a space character, and must not be obviously fictitious.