GUI Designer

Although it pains me to say this, GUI development in Java is a pain in the ass.

Microsoft with VB/FoxPro and Borland with Delphi/C++ Builder, have it sorted:

You create a simple page, drop components on it, set the properties, and thats it. Its done. No messing about. The end result looks half decent, in a very small amount of time.

Why on earth do I have to mess about with layout managers, vertical spacers and the like - I just want a quick way to knock up a GUI. This is especially so in a language like Java that has zero console support. I seem to spend ages putting components on a form, only for the layout manager to screw things up and stretch the components to full panel size, or screen size. Just leave them alone - surely we can get IDEA to figure out the spacers etc in the background?

Ive used both JBuilder and IDEA's GUI designers, and I think they all fail miserably in helping to get a simple form put together compared with VB and Delphi/C++ Builder.

Not even close.

If is often said that imitation is the highest form of flattery - in this case, I think the imitation is warranted - GUI development in Java sucks big time.

Ok, enough ranting, the rest of the editor is great.

Just please find a way to ease GUI development.
I dont think the current Java offerings (from anyone) are even remotely close to being good. Certainly not by other tools standards. Id gladly pay a new upgrade fee if you implement a simple, quick and effective way to make GUIs.


Nick

13 comments
Comment actions Permalink

Microsoft with VB/FoxPro and Borland with Delphi/C++ Builder, have it sorted:


TBH, the GUI builder in Delphi/C++ Builder is good for prototypes, but
not for real production. Unfortunately a lot of developers don't realize
it so one has to use applications, that clearly can be detected as
produced by a novice using Delphi/C++ Builder (example:
http://www.amicron.org/uploads/pics/telereporter75_01.jpg ).

Tom

0
Comment actions Permalink

Thomas Singer (MoTJ) wrote:

produced by a novice using Delphi/C++ Builder (example:
http://www.amicron.org/uploads/pics/telereporter75_01.jpg ).


Ahh the stock Delphi icons how I miss thee...

--
Discouragement is a dissatisfaction with the past, a distaste for the
present, and a distrust of the future - Maree De Jong, CLCA.

Mark Derricutt --- mark@ talios.com --- http://www.talios.com

0
Comment actions Permalink

Nick, it seems that you never create dialog which preporly resizes.
Such non resizable dialogs in general are useful for prototyping
purposes only and they look very amateurish.

Nick Pratt wrote:

Although it pains me to say this, GUI development in Java is a pain in the ass.

Microsoft with VB/FoxPro and Borland with Delphi/C++ Builder, have it sorted:

You create a simple page, drop components on it, set the properties, and thats it. Its done. No messing about. The end result looks half decent, in a very small amount of time.

Why on earth do I have to mess about with layout managers, vertical spacers and the like - I just want a quick way to knock up a GUI. This is especially so in a language like Java that has zero console support. I seem to spend ages putting components on a form, only for the layout manager to screw things up and stretch the components to full panel size, or screen size. Just leave them alone - surely we can get IDEA to figure out the spacers etc in the background?

Ive used both JBuilder and IDEA's GUI designers, and I think they all fail miserably in helping to get a simple form put together compared with VB and Delphi/C++ Builder.

Not even close.

If is often said that imitation is the highest form of flattery - in this case, I think the imitation is warranted - GUI development in Java sucks big time.

Ok, enough ranting, the rest of the editor is great.

Just please find a way to ease GUI development.
I dont think the current Java offerings (from anyone) are even remotely close to being good. Certainly not by other tools standards. Id gladly pay a new upgrade fee if you implement a simple, quick and effective way to make GUIs.


Nick



--
Vladimir Kondratyev
Software Developer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0
Comment actions Permalink

Ive released production GUIs in VB, Delphi and C++ Builder.

They all resized quite nicely. (Borland's anchor concept makes it real easy to make a resizeable GUI very quickly).

Ive also made many util GUIs for use both internally and externally, without any problems.

I still stand by my statement - Java GUI development is no where close to VB, Delphi or C++ Builder.

Any issues with the GUIs were all quickly modified, with expected results - Javas layout managers often make this process extremely difficult and annoying.

XY Layout, with behind the scenes anchoring. Works great.

Nick

0
Comment actions Permalink

Now where have we heard all this before... :)

http://www.intellij.net/forums/thread.jsp?forum=27&thread=70515&message=788482#787795

The 'problem' you are talking about is with the JDK not the tool I'm
afraid. The tool can't make up for restrictions imposed by the JDK
without you being locked into proprietary libraries and even being
locked to a specific IDE. Ask yourself why there are no other ide's for
delphi or vb?

N.

Nick Pratt wrote:

Ive released production GUIs in VB, Delphi and C++ Builder.

They all resized quite nicely. (Borland's anchor concept makes it real easy to make a resizeable GUI very quickly).

Ive also made many util GUIs for use both internally and externally, without any problems.

I still stand by my statement - Java GUI development is no where close to VB, Delphi or C++ Builder.

Any issues with the GUIs were all quickly modified, with expected results - Javas layout managers often make this process extremely difficult and annoying.

XY Layout, with behind the scenes anchoring. Works great.

Nick

0
Comment actions Permalink

I used to be a huge fan of Visual J++ (before MS was forced to drop Java!).
As you say - you dragged GUI elements onto an XY grid and then specified
anchors for the resize behaviour. This was certainly very quick for putting
good looking GUIs together very quickly (for both prototypes and
production).

However, having long given up on Java GUI builders and gone over to purely
code based GUI production I have realised there are benefits in coding GUIs
yourself. You definitely get much higher re-use (it is much easier and more
likely that you'll build reusable components) and layout managers like
TableLayout have made life much easier (no more nested panels and reasonably
readable code).

However manual coding is much slower (particularly when you just want a
prototype) - even with the fantastic TableLayout! If there was a GUI builder
that emulated that old Visual J++ GUI builder I'd definitely swap back but
the current Java GUI builders (I have used both JBuilder and IDEA in anger)
are simply not up to producing large, complex Swing applications without
major pain and effort (and, in both cases, effectively vendor/IDE tie in).

My search for a good GUI builder continues (but IDEA is the most promising I
have seen so far!).

Cheers,

TicH

"Nick Pratt" <no_mail@jetbrains.com> wrote in message
news:18225048.1087486155441.JavaMail.itn@is.intellij.net...

Ive released production GUIs in VB, Delphi and C++ Builder.

>

They all resized quite nicely. (Borland's anchor concept makes it real

easy to make a resizeable GUI very quickly).
>

Ive also made many util GUIs for use both internally and externally,

without any problems.
>

I still stand by my statement - Java GUI development is no where close to

VB, Delphi or C++ Builder.
>

Any issues with the GUIs were all quickly modified, with expected

results - Javas layout managers often make this process extremely difficult
and annoying.
>

XY Layout, with behind the scenes anchoring. Works great.

>

Nick



0
Comment actions Permalink

This statement is only half true. At the moment, Delphi and VB still make it much easier to bind data and events to guis. But there's really no reason Java couldn't have an easier-to-use LayoutManager implementation.

How hard would it be to write a layout manager that works just has described in this thread: xy with anchors? Not hard. How hard would it be to build a little gui tool that uses that layout? Not hard. Not that this is a new idea: http://www.computersinmotion.com/cgi-bin/homeframeload.pl?formname=products_foam

I really don't see the layout problem as intrinsic to Java. It's a tool problem.

0
Comment actions Permalink

THe point I'm making is that such a LayoutManager is not available in
the JDK. It would have to be a proprietary layout manager, and for the
tool to interact with it properly, the tool would have to have
specialist knowledge of the proprietary layout manager.

N.

Russell Egan wrote:

This statement is only half true. At the moment, Delphi and VB still make it much easier to bind data and events to guis. But there's really no reason Java couldn't have an easier-to-use LayoutManager implementation.

How hard would it be to write a layout manager that works just has described in this thread: xy with anchors? Not hard. How hard would it be to build a little gui tool that uses that layout? Not hard. Not that this is a new idea: http://www.computersinmotion.com/cgi-bin/homeframeload.pl?formname=products_foam

I really don't see the layout problem as intrinsic to Java. It's a tool problem.

0
Comment actions Permalink

Ah. I guess I don't see this as a problem. If you used the gui build in VC+, you were using VC+ proprietary layout manager, if you will. If the tool lets you visually build the gui you want, who care if it uses it's own LayoutManager or one from the JDK?

Java gui developers really want a great gui builder that works with many different LayoutManagers. I think that's pie-in-the-sky. If the gui builder is really slick enough to let me visually draw the gui I want, I don't care what LayoutManager (or set of LayoutManagers) it uses under the covers to make that happen. If I really care about using a specific LayoutManager, then I probably want to just do the layout in code.

It's a little bit like asking someone to implement a library, but specifying both the interface and the implementation. I don't care how the gui builder implements the layout, as long as the layout interface is good.

That said, I think the layout guis are still maturing. Idea's isn't bad, though I think Foam's paradigm of anchors is a little easier and quicker that Idea's paradigm of making everything a grid.

0
Comment actions Permalink

IDEA GUI Designer is the easiest way to develop good GUI's that I've ever used. I think if you're used to VB's absolute positioning it might take a while to get used to, but I think once you get into it you will agree that it's the best GUI designer out there, for Java or otherwise.

0
Comment actions Permalink

Not trying to rock the boat here..

...but I clearly dont think that. {:-)

So from what Ive read, this boils down to a custom layout manager, and IDEA using that layout manager.
Heck, if they ship the layout manager, I dont care if its tied to IDEA. I just want to make a GUI and move on.

Nick

0
Comment actions Permalink

Sounds like prototyping to me ;)

Nick Pratt wrote:

I just want to make a GUI and move on.

0
Comment actions Permalink

My search for a good GUI builder continues (but IDEA is the most promising I
have seen so far!).


From my point of view, FormBuilder from Jeanette Winzenburg
(http://www.swingempire.de/palace/FormBuilder/) looks most promising.

Tom

0

Please sign in to leave a comment.