I think IntelliJ missed the point compleatly with the UI Designer

I am relatively new to Java. I worked in C++/MFC for 7 years before moving to Java. I also have some experience in VB.

I have been working in java for two years now. I keep avoiding becoming an expert on swing hoping against hope somebody will provide a tool for Java like Microsoft provides for windows programming. A simplified model that does most of the grunt work for you in Designing the UI and the code connected to it. With little or no knowledge of the underpinnings unless you need to do something advanced.

That is what I hoped the UI Designer was all about.
BUT from the documentation for the UI Designer -So all we have is a tool that helps with the layout not a true GUI framework. I still have to be a swing expert.
Oh did I mention I hate swing? It's to hard to use and doesn't present a clear simple way to do simple things.



14 comments
Comment actions Permalink

Joey Edelstein wrote:

I am relatively new to Java. I worked in C++/MFC for 7 years before moving to Java. I also have some experience in VB.

I have been working in java for two years now. I keep avoiding becoming an expert on swing hoping against hope somebody will provide a tool for Java like Microsoft provides for windows programming. A simplified model that does most of the grunt work for you in Designing the UI and the code connected to it. With little or no knowledge of the underpinnings unless you need to do something advanced.

That is what I hoped the UI Designer was all about.
BUT from the documentation for the UI Designer - "The documentation assumes you already know > something about UI programming in Java"]]>So all we have is a tool that helps with the layout not a true GUI framework. I still have to be a swing expert.
Oh did I mention I hate swing? It's to hard to use and doesn't present a clear simple way to do simple things.


I'm sorry, but what you sound pathetic...

I worked also with win32 API and MFC before a few years and I'd say that
they don't even come close to swing. (have you tried to untangle the
arcane MFC message-mapping macros?) Swing has very nice architectrure,
though at many places the implementation is crappy, but if you decide to
make a good GUI, it would be much easier compared to MFC.

And don't even get me started on VB :)

peace,
dimiter

0
Comment actions Permalink

On Tue, 20 Jan 2004 19:17:32 +0900, dimiter wrote:

I worked also with win32 API and MFC before a few years and I'd say that
they don't even come close to swing. (have you tried to untangle the
arcane MFC message-mapping macros?) Swing has very nice architectrure,
though at many places the implementation is crappy, but if you decide to
make a good GUI, it would be much easier compared to MFC.


I'd also go as far as to say that I think JetBrains have got the UI
designer working in a way that is a hell of alot better than any others.

Sure, its different than others, its not a "GUI Form Designer" which binds
a form for a dialog or window, but its a layout tool that binds what you
need to a class. And it does it very well.

Awhile ago I was working on a project which had originally been designed
as a straight GUI swing app, all the forms ( made with Net Beans ) were
hardcoded to a JFrame, I wanted to migrate/port part of it to run as an
IDEA plugin, but with everything bound to the JFrame, that was difficult
and I had to do some hackery foo.

With the way the JetBrains GUI tool works, the form would be found to a
parent JPanel, which is then added to a JFrame, JDialog, or what other
container the end user wants ( or at least makes it easier to maintain
that separation of concern ).

I say congratulations to JetBrains for the GUI designer.

0
Comment actions Permalink

I'm sorry, but what you sound pathetic...

What’s pathetic? that I don’t want to waste my time on silly GUI stuff that other development environments do for me?
While the UI Designer will be some help it is not the powerful GUI builder that Java lacks and that I was hopping IntelliJ would be building.


I worked also with win32 API and MFC before a few
years and I'd say that
they don't even come close to swing. (have you tried
to untangle the
arcane MFC message-mapping macros?)


Win32 is a mess and MFC Internals are not that wonderful either but the whole point of Visual C++ is that you don't have to worry about it most the time. I have untangled the message-mapping macros and they are not better or worse then swing just different. But unlike swing MFC has to bear the cross of win32. Swing could have been made a lot easier to use.
I had hoped IntelliJ could hide the messy parts of swing and make it all a lot easier to use. That is not what I am seing.

Swing has very nice architectrure,
though at many places the implementation is crappy,
but if you decide to
make a good GUI, it would be much easier compared to
MFC.


I have done good GUI's in both and you are simply wrong. While I may be stupid I am surrounded with lots of smart people some of which are swing experts and the results of our GUI work in swing are anything but elegant. It has been twice as hard at the very least to get a good GUI going with swing. This is due in a large part to how hard swing is to use.


And don't even get me started on VB :)

VB isn't a tool for hacker it's a development environment for the masses and as such is a huge success. Creating simple GUI for simple things is very very very simple with it.

0
Comment actions Permalink

I had hoped IntelliJ could hide the messy parts of swing and make it all a lot easier to use.


What parts of Swing you count difficult? What do you think IntelliJ
should do to make it simpler?

BTW, making good GUI's is always a difficult part. Take a look at the
crowd of ugly VB/VC++ applications hanging around and annoying users.

For a good GUI you need a more-or-less application-centric framework,
not just a couple of components and layout managers. If you need such a
framework, take a look at www.jgoodies.com - there you'll find something
named "Forms".

--
Lars Köhler

0
Comment actions Permalink

I would say that your concern is legitimate, to some extent. I think the problem with Swing is that you have to accept some core fundamental issues regarding object oriented thinking. Swing is complex to learn, I think, but it is peanuts compared to MFC IMHO. Once you get the grip with the ins and outs of swing, I think you would thrive.

O'reilly (really?) book on the subject is a brilliant start. I can recommend it.

When are mastering the fundamental thinking and the ideas around Swing, it may shed a different light on the UI Designer. I hope!

Happy programming

0
Comment actions Permalink

Joey Edelstein wrote:

I don?t want to waste my time on silly GUI stuff that other development environments do for me?


Then you could try NetBeans, it does everything, even creates action
listeners, though it gets though when you decide that you want something
tweaked (with MFC it was even harder for me.)

The basic fact about MFC/VB development is that you don't have that
level of access to the component internals, so when you are required to
fix some incoherent behaviour, you could say "that's the way windows
works" and that's all.

My (and many other's) humble oppinion is that good design cannot be
generated it has to be... well, it has to be designed and the design
activity surely involves some manual work and looking into the details.
And while IDEA's designer doesn't provide tools for all activities
involved in GUI design, it alleviates the pain of creating a good layout.

I had hoped IntelliJ could hide the messy parts of swing and make it all a lot easier to use. That is not what I am seing.


I think that it's better that they have created a tool which works with
the standard java GUI library and doesn't reinvent the wheel (even if
the current one is square and made of cheese).

VB isn't a tool for hacker it's a development environment for the masses and as such is a huge success. Creating simple GUI for simple things is very very very simple with it.


I though the same thing, until my humble VB application evolved into a
1MB monstrousity, calling Win32 functions and remote objects and
virtually impossible to debug. (And yes, it was relatively well
structured.) Then I rewrote it using python with COM bindings and it was
a whole different story. The moral is that IMHO anything else is better
than VB, and some alternatives are not even slower to develop.

Which brings one of my old dreams: I wish there was a Java port of
wxWindows...

regards,
Dimiter

0
Comment actions Permalink


"Joey Edelstein" <no_reply@jetbrains.com> wrote in message
news:19355255.1074599872476.JavaMail.itn@is.intellij.net...

I'm sorry, but what you sound pathetic...

What?s pathetic? that I don?t want to waste my time on silly GUI stuff

that other development environments do for me?

GUI is never silly... Thinking like this is a biiiiig mistake.

Win32 is a mess and MFC Internals are not that wonderful either but the

whole point of Visual C++ is that you don't have to worry about it most the
time. I have untangled the message-mapping macros and they are not better
or worse then swing just different. But unlike swing MFC has to bear the
cross of win32. Swing could have been made a lot easier to use.

Looks like you never used Delphi or C++ Builder. Well, you used VB, but this
is not the same. Borland guys managed to create really sleek, usable,
easy-to-learn and at the same time down-to-the-API library. They were just
one year late. VB is too limited in its features comparing to VCL, and MFC
plainly sucks. Microsoft created just another wrapper around WinAPI without
adding much to it and with little help to developer. Ahh... Just end-of-day
rant. Got to go home... Anyway, no one who used VCL would say that you do
not have to worry about anything using MFC.

I had hoped IntelliJ could hide the messy parts of swing and make it all a

lot easier to use. That is not what I am seing.

They made their best, they cannot rewrite the whole Swing subsystem.
Swing does not use resources, the only possible reason that I can see is
that Java runs everywhere and display devices are different. Whatever,
bitmap is bitmap everywhere, big deal. But without resources you cannot
create Windows-style dialogs. Idea now have resource-like XML where it
stores layout definition. This is a step in the proper direction.

Swing has very nice architectrure,
though at many places the implementation is crappy,
but if you decide to
make a good GUI, it would be much easier compared to
MFC.

>

I have done good GUI's in both and you are simply wrong. While I may be

stupid I am surrounded with lots of smart people some of which are swing
experts and the results of our GUI work in swing are anything but elegant.
It has been twice as hard at the very least to get a good GUI going with
swing. This is due in a large part to how hard swing is to use.

Yep, it is not like dropping a button on a form. Do you use Java for fun or
for money?

And don't even get me started on VB :)

VB isn't a tool for hacker it's a development environment for the masses

and as such is a huge success. Creating simple GUI for simple things is
very very very simple with it.

Well, don't get ME started on PowerBuilder :)


0
Comment actions Permalink

dimiter wrote:

Which brings one of my old dreams: I wish there was a Java port of
wxWindows...


Your wish is my command: http://www.wx4j.org/

Enjoy!
Vil.
--
Vilya Harvey
vilya.harvey@digitalsteps.com / digital steps /
(W) +44 (0)1483 469 480
(M) +44 (0)7816 678 457 http://www.digitalsteps.com/

0
Comment actions Permalink

I say congratulations to JetBrains for the GUI designer.


I second that. The JetBrains approach does a wonderful job of seperating the UI logic from the rest of the code. I still don't agree with their approach to GUI soruce code, but they left the system open enough that I can use their UI Designer and still get what I need.

0
Comment actions Permalink

Vilya Harvey wrote:

Your wish is my command: http://www.wx4j.org/


Wow, cool! But on a second tought, I don't think that someone would let
me use it in a commercial project... Despite all it's quirks Swing has
proven to be 'good enough', while a lot of the managing persons don't
trust in the alternatives (like wx or qt)...

Which boils down to: thanks to JB for doing what your part, and not
trying to do mine :)

-- dimiter

0
Comment actions Permalink

On Wed, 21 Jan 2004 12:14:43 +0000, Ralph Saunders wrote:

I second that. The JetBrains approach does a wonderful job of seperating
the UI logic from the rest of the code. I still don't agree with their
approach to GUI soruce code, but they left the system open enough that I
can use their UI Designer and still get what I need.


Having had them answer our requests for code generation, it would be nice
to see this grow to be an open-api for pluggable code-gens, then we could
have: J2ME, SWT or others also implemented. From the same base code (
listeners would be a different thing thou ).

Mark


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

0
Comment actions Permalink

On Tue, 20 Jan 2004 17:39:45 -0800, Michael Jouravlev wrote:

Well, don't get ME started on PowerBuilder :)


/me covers his eyes. Previous job I was doing Delphi whilst the others
were PB developers. I have respect for those guys, but I just didn't get
it. At least the code anyway....

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

0
Comment actions Permalink

Having had them answer our requests for code generation, it would be nice
to see this grow to be an open-api for pluggable code-gens, then we could
have: J2ME, SWT or others also implemented. From the same base code (
listeners would be a different thing thou ).


They did not answer our request for code generation because it was based on producing readable code that we could deliver to our clients. The answer they provided was to let us set a switch to get the compiler to throw up into our source file. The resulting code is some of the ugliest code I have ever seen and completely uncharacteristic of the level of quality that applies to everything else in Idea. It would have been better if they had not wasted their effort on providing a solution that does not meet our needs. Fortunately, the UI Designer and Idea are open enough that I could write a plugin to do what I need.

0
Comment actions Permalink

On Thu, 22 Jan 2004 19:21:12 +0000, Ralph Saunders wrote:

The resulting code is some of the ugliest
code I have ever seen and completely uncharacteristic of the level of
quality that applies to everything else in Idea.


I'll agree its ugly code, mostly in the naming of unbound variables from
memory???

The main aim was to at least allow developers to build without IDEA, or
without a custom compiler wrapper. But yes, the code could be cleaner...


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

0

Please sign in to leave a comment.