943,078 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Marked Solved
  • Views: 6923
  • Java RSS
You are currently viewing page 1 of this multi-page discussion thread
Nov 29th, 2009
0

Whats the best Java GUI Builder??

Expand Post »
Im looking for the "best" GUI builder for java.

I use Eclipse to write my scripts, and i would appreciate you guys telling me your favourite GUI Builder and the reasons why.

Thanks
Similar Threads
Reputation Points: 12
Solved Threads: 3
Junior Poster
Archenemie is offline Offline
135 posts
since Nov 2009
Nov 30th, 2009
1
Re: Whats the best Java GUI Builder??
Manual. Gives full control with no "bolierplate", repetitive, rigid code.

But that's not what you're looking for is it? I dislike all "Gui builders", as they all produce rigid, reptitive code that is hard to modify correctly, and is not always that effecient when any action to be performed is more than popping up a dialog.
Moderator
Reputation Points: 1471
Solved Threads: 490
Industrious Poster
masijade is offline Offline
4,043 posts
since Feb 2006
Nov 30th, 2009
0
Re: Whats the best Java GUI Builder??
Click to Expand / Collapse  Quote originally posted by masijade ...
Manual. Gives full control with no "bolierplate", repetitive, rigid code.

But that's not what you're looking for is it? I dislike all "Gui builders", as they all produce rigid, reptitive code that is hard to modify correctly, and is not always that effecient when any action to be performed is more than popping up a dialog.
I agree. I prefer to write my own gui.

Surely I also use a Gui Builder but just to quickly declare and place the elements.

But most of the times I do them on my own.
It is hard to use a gui builder to create dynamically a list of buttons or a ComboBox whose values are generated by some other function.

It is better to learn how to create JFrames on your own and not depend on a builder. Especially for actionListeners. The code that they generate is not easy to follow and you won't learn how they work and called.
Sponsor
Featured Poster
Reputation Points: 1005
Solved Threads: 446
Nearly a Senior Poster
javaAddict is offline Offline
3,256 posts
since Dec 2007
Dec 1st, 2009
0
Re: Whats the best Java GUI Builder??
So basically use JFrame...

Will do.
Reputation Points: 12
Solved Threads: 3
Junior Poster
Archenemie is offline Offline
135 posts
since Nov 2009
Dec 1st, 2009
0
Re: Whats the best Java GUI Builder??
NetBeans, nice easy visual-studio-like interface. But generates ugly code. Writing your own is best in the long run, but for RAD, netbeans is good.
Moderator
Featured Poster
Reputation Points: 1764
Solved Threads: 573
Moderator
jbennet is offline Offline
16,481 posts
since Apr 2005
Dec 1st, 2009
1
Re: Whats the best Java GUI Builder??
Click to Expand / Collapse  Quote originally posted by javaAddict ...
I agree. I prefer to write my own gui.

Surely I also use a Gui Builder but just to quickly declare and place the elements.

But most of the times I do them on my own.
It is hard to use a gui builder to create dynamically a list of buttons or a ComboBox whose values are generated by some other function.
I must disagree here: For example with NetBeans you can subclass a JPanel and make it whatever you want, like an interface for whatever you have (like a database record, a file...). Then you can write "custom creation code", create your component directly or through a factory which also links it to the data it has to generate values from, and still drag it around in your visual builder, and set properties like size, colour... And then you can even make that JPanel to require a ComboBox or whatever else palaced into it, so it'll use that as a prototype to create the custom ones!
Back a while with Delphi I used to think like you, but that GUI builder was crap, and all of them is.
Click to Expand / Collapse  Quote originally posted by javaAddict ...
It is better to learn how to create JFrames on your own and not depend on a builder. Especially for actionListeners. The code that they generate is not easy to follow and you won't learn how they work and called.
It's also a good thing to be able to start Java without knowing how to create JFrames, and learn it on the way. But it's best to learn how to create JFrame, learn how your GUI handles it, and learn how each one is intended be customized, since the point of every OO framework is to be customized.
Click to Expand / Collapse  Quote originally posted by masijade ...
Manual. Gives full control with no "bolierplate", repetitive, rigid code.

But that's not what you're looking for is it? I dislike all "Gui builders", as they all produce rigid, reptitive code that is hard to modify correctly, and is not always that effecient when any action to be performed is more than popping up a dialog.
When you have to put a lot of simple components onto a form, it's inevitable to produce rigid and repetitive code, just because it's data hardcoded into program code, and GUI editors are in place exactly to help you modify that rigid and repetitive code that I don't like to touch by hand.
You don't need even one line of program to define how a form looks, just think about serialized forms. Long ago Delphi's GUI builder was written so it manipulated a serialized form, which was exactly this kind of hard to modify. Now I think NetBeans finally get it right, and I find it easy to modify.

For the original question:
NetBeans is official and easy to install, Eclypse is old and has more plugins and supporters.
The main thing is that you have to use a GUI builder, and start using it as early as you can, to be expert in it as early as you can, because your work and the time it takes will be compared to those who are. And if you really learn how your GUI works, it'll include creating components by hand, and writing components yourself.
Last edited by MoZo1; Dec 2nd, 2009 at 12:09 am.
Reputation Points: 43
Solved Threads: 4
Junior Poster
MoZo1 is offline Offline
110 posts
since Mar 2008
Dec 2nd, 2009
0
Re: Whats the best Java GUI Builder??
Click to Expand / Collapse  Quote originally posted by MoZo1 ...
I must disagree here: For example with NetBeans you can subclass a JPanel and make it whatever you want, like an interface for whatever you have (like a database record, a file...). Then you can write "custom creation code", create your component directly or through a factory which also links it to the data it has to generate values from, and still drag it around in your visual builder, and set properties like size, colour... And then you can even make that JPanel to require a ComboBox or whatever else palaced into it, so it'll use that as a prototype to create the custom ones!
Back a while with Delphi I used to think like you, but that GUI builder was crap, and all of them is.
Good for you, to each his own.
Quote ...
It's also a good thing to be able to start Java without knowing how to create JFrames, and learn it on the way. But it's best to learn how to create JFrame, learn how your GUI handles it, and learn how each one is intended be customized, since the point of every OO framework is to be customized.
Maybe, but I still find it best to learn it manually first so you know what it is the code those GUI Builders make does.
Quote ...
When you have to put a lot of simple components onto a form, it's inevitable to produce rigid and repetitive code, just because it's data hardcoded into program code, and GUI editors are in place exactly to help you modify that rigid and repetitive code that I don't like to touch by hand.
No, manually you can make methods that for the placements so that the only thing "repetitive" is the calling of the method. Also, I have never seen a GUI Builder use GridBagLayout, which is what I prefer as it gives you maximum control over the layout without 20 different layers of layout managers which is what most GUI Builders I've seen do.
Quote ...
You don't need even one line of program to define how a form looks, just think about serialized forms. Long ago Delphi's GUI builder was written so it manipulated a serialized form, which was exactly this kind of hard to modify. Now I think NetBeans finally get it right, and I find it easy to modify.
Yes you do. Whether you build it or a GUI Builder builds it the code is still there, of course. And it is still nearly impossible to get a GUI Builder to create a good action event that triggers more than a simple one-off action.
Quote ...

For the original question:
NetBeans is official and easy to install, Eclypse is old and has more plugins and supporters.
The main thing is that you have to use a GUI builder, and start using it as early as you can, to be expert in it as early as you can, because your work and the time it takes will be compared to those who are. And if you really learn how your GUI works, it'll include creating components by hand, and writing components yourself.
"Official"? There is no "official" IDE. Sun provides links to NetBeans because it "endorses" it, but that does not make it "official". There are no "official" IDE's. If there where it would come as a standard part of the JDK, rather than as an optional, bundled product. And the "time" to become an expert has nothing to do with how quickly you can build rigid GUI's. Gui's are the smallest part of any language. The hardest part of a GUI is getting actions to perform properly without "freezing" the GUI (i.e. without the action taking place on the Event Thread) and the GUI builders, normally, do not help much with this.

And I really dislike the statement about making the component "look" like the data without the qualifying statements of making sure that you are not tying your data and actions to the GUI. You do realise that your GUI code, your action code, and your data model should be completely independent of each other, right? That statement made it sound (whether you intended it that way or not) as if you are going to mixing all that code, which would make it extreemly difficult to change GUIs later (I.E. from a Swing to Web GUI for example) or to simply allow, from the very beginning, for multiple possible GUI's for the application.
Moderator
Reputation Points: 1471
Solved Threads: 490
Industrious Poster
masijade is offline Offline
4,043 posts
since Feb 2006
Dec 2nd, 2009
0
Re: Whats the best Java GUI Builder??
jframebuilder.exe
Reputation Points: 10
Solved Threads: 1
Newbie Poster
java.. is offline Offline
12 posts
since Dec 2009
Dec 2nd, 2009
0
Re: Whats the best Java GUI Builder??
Click to Expand / Collapse  Quote originally posted by masijade ...
No, manually you can make methods that for the placements so that the only thing "repetitive" is the calling of the method. Also, I have never seen a GUI Builder use GridBagLayout, which is what I prefer as it gives you maximum control over the layout without 20 different layers of layout managers which is what most GUI Builders I've seen do.
Generalizing things that you can repeat places constraints on your design. It depends on how much you (or your customer) want to customize a form. Also you loose the advantage of property editor interfaces like colour picker, table editor... again because you didn't separated data from code, you've lost the editors for the data.
GridBagLayout should be supported, but this doesn't mean that the concept of GUI builders are wrong.

Click to Expand / Collapse  Quote originally posted by masijade ...
Yes you do. Whether you build it or a GUI Builder builds it the code is still there, of course. And it is still nearly impossible to get a GUI Builder to create a good action event that triggers more than a simple one-off action.
The code is there without any switch or loop or arithmetic, which I call data. You could replace the whole thing with a call to unserialize.
This is not the case of course if you need a variable number of combobox or whatever, but then you can encapsulate the whole stuff within a JPanel.
GUI builders are there to deal with rigid repetitive code like one-off actions, not to write good events. If you can write good events, and you only need some one-off actions, you sure won't like writing those by hand.

Click to Expand / Collapse  Quote originally posted by masijade ...
"Official"? There is no "official" IDE. Gui's are the smallest part of any language. The hardest part of a GUI is getting actions to perform properly without "freezing" the GUI (i.e. without the action taking place on the Event Thread) and the GUI builders, normally, do not help much with this.
Sun's Java tutorial often assumes you use NetBeans. If it's official or endorsed, it's my mistake, I'm not pro at these.
GUI is the smallest part of the language or a big application, but a lot of application requires a GUI, even the smallest ones, where the GUI part consumes very large part of the time if you write it by hand. RAD and GUI editors are in place to produce large number of smaller applications fast.
And of course a GUI builder won't make a thread for you, because every GUI related tasks should also run in the Event Thread. If you want something to run in another thread, that's completely your concern.

Click to Expand / Collapse  Quote originally posted by masijade ...
Web GUI for example
And also when I write a web interface, I won't create it by hand, but make it with an appropriate editor, and use JSP.
Last edited by MoZo1; Dec 2nd, 2009 at 3:24 am.
Reputation Points: 43
Solved Threads: 4
Junior Poster
MoZo1 is offline Offline
110 posts
since Mar 2008
Dec 2nd, 2009
0
Re: Whats the best Java GUI Builder??
And of course you use JSP/Servlet, That, of course, does not invalidate the argument. And you completely missed the point about methods. And building a GUI by hand, when done properly, as I said, does not produce rigid and repetitive code, unless you code in the same way as the GUI Builders. And, as I said, I have never seen a GUI builder that lets you choose what layout you wish to use. That would cause too many variations in the way the GUI builder must react, and, as I said, I have never seen one that uses GridBagLayout, so a complex GUI will winf up using about 5 times as much heap space as necessary. It is not something that is fatal, usually, and not someting that you always, or even usually need to be concerned with, but sometimes you do.

I have no problem with people using them. Exactly the opposite. But, especially for the beginner it is very important to start building them manually. It is important to know how to do it yourself, or you will never be able to diagnose problems that even just might be caused by that. And you will be completely lost if you need to make even just a minor change to it and do not have your builder to use, or, in the framework of the project, are not allowed to use it, which happens more often than you may think.

I also see no argument in support their abilities to facilitate good actions.

I also have no idea what you mean with "switch or loop or arithmetic". If the GUI was built properly there is absolutely no need for any kind of that stuff, and being "rid of a GUI" is simply no longer including that code in the project, when done properly so that the application itself is not at all involved in the GUI code, as I said earlier.
Moderator
Reputation Points: 1471
Solved Threads: 490
Industrious Poster
masijade is offline Offline
4,043 posts
since Feb 2006

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Get and Set method help
Next Thread in Java Forum Timeline: Character count loop. upper case count loop help





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC