tags:

views:

181

answers:

6

I've played around with the netbeans visual editor for java and it seems very intuitive and simple to use but I can't help but think: is this detrimental to my learning? Should I be getting my hands dirty and doing everything manually? How do professionals in the field handle user interface design?

What would you guys recommend I do?

+2  A: 

For learning design I think a visual GUI editor is fine. Design has nothing to do with what tools you use to create the design. If your goal is to learn how to create a pleasing user experience a visual editor might be very helpful.

For learning how to create an application with a graphical user interface I think it may be detrimental, though that really depends on the individual. At some point I do think you need to "get your hands dirty" so you can learn exactly how widgets interact with business objects and with the user.

Bryan Oakley
+1  A: 

I would recommend that for every new component you use, you first handcode it at least once just to make sure you understand. But theres no need to get redundant and just spend all your time coding locations and sizes when the visual editor does it for you. What I would do is just make sure you understand child forms and parent forms and leave the repetitive technical things to the editor.

Jean-Bernard Pellerin
Sizes and locations? This is the twenty first century.
Tom Hawtin - tackline
+1  A: 

Understand the underlying code. If that means practice by writing a form window so be it.

However, don't waste time on it or pain yourself. It is hardly ever required to actually go in and play with the underlying generated code.

I would definitely not recommend getting too far consumed by it. It is simple and repetitive code that is generally quite simple to figure out when the time actually shows it self.

jim
+4  A: 

The main drawback of GUI builders is that they make it easy to do simple things and very difficult to do complicated things. It's the same as building a website with a real design tool vs. using a simple website builder like iWeb or FrontPage.

The three most important topics in GUI framework are learning the event model, the layout model, and the intricacies of each widget. GUI builders isolate you from the latter two and kind of restrict your exposure to your first.

In the long run, it's detrimental to the things you can achieve, and therefore detrimental to your mastering of GUI creation.

In addition, maybe behaviors that are very important to the users (e.g., blanking out one widget in response to change in another) are quite tricky to write, especially with automatically generated code. Complex GUIs often rely on models, and GUI builders often through everything together, so it's much easier to end up with horrible unmaintainable code.

Uri
I like your answer better :)
Jean-Bernard Pellerin
Why was this downvoted?
Uri
Someone disagreed?
Tom Hawtin - tackline
+1  A: 

I recommend getting your hands dirty with the underlying parts of the code. The problem I find with Visual Editors is that they can often generate unclean code, or code that is difficult to understand when someone else needs to make changes.

Once you have a clear understanding of JComponents then you can play around with the visual editor to understand the code that the editor generates. I recommend playing around with the examples provided by the Sun Website for Java GUI programming.

AlbertoPL
A: 

i use GUI editors just to make the template/repetitive tasks through applications, and make the dynamic elements by hand

rkheik