The uiDesigner is nice but confusing as heck :)

Here are some comments that I have for the uiDesigner to make it more useful/useable.

1) Create the stub class for the UI or add the components to the specified UI bean class as they are added

2) Create some stub code for showing the form as that is a non-obvious process. If I have to find a FAQ to figure out how to get the forms displayed, there needs to be a bridge between the creation of the interface and its display that would ideally be created by Idea.

7 comments
Comment actions Permalink

Very true. I tried it and did very simple UI (label, editbox and button). Then how to attach code on onClick events, lostFocus and so on...

Current state is not what I expected to find from UIDesigner so left it alone. I still keep JBuilder 4Pro running in my machine.

0
Comment actions Permalink

Whome wrote:

how to attach code on onClick events, lostFocus and so on...


bind component to some field and operate with this field.

With best regards,
Vladimir Kondratyev
_____________________
JetBrains

0
Comment actions Permalink

Vladimir I don't want to come off the wrong way but what you said makes absolutely no sense for someone who hasn't used/written the tool :)

0
Comment actions Permalink

In the begining I was having the same impression, but after playing with it I feel its pretty neat.

I guess first of all we should come out of the feeling that UI designer should support event code.
Just think that it is just a tool to layout your components quickly.
A typical UI class looks like this


Now the IDEA UI Designer helps us to fill layoutComponents() (Not with the same name, it has 2 options, either injecting bytecode directly or generating instance initializer)

You can totally ignore layoutComponents(). Events are pretty simple and pressing Ctrl + Shift + space after typing new will do all for you

Don't you think this is pretty neat than having some hidden stuff and losing the FREEDOM of coding.
******++__

0
Comment actions Permalink

Forgot to mention --- Bind the variable names to appropriate UI components in the designer.

mainPanel is a convention that after clicking "Layout in Grid" button UI Designer puts all your components into a new JPanel. just bind this to mainPanel :)

0
Comment actions Permalink

I guess first of all we should come out of the feeling that UI designer should support event code.


Completely agree. It's a matter of separation UI and logic. But to make
it right, it must be possible to create components using factories. See
example:

private final JButton deleteButton;

... constructor ...
deleteButton = ButtonFactory.createPushButton(deleteAction);
...

Tom

0
Comment actions Permalink

:)) May be IDEA5.0 will be having more options on generated code.

Personally I don't like the generated code, but somewhere we have to compromise, if not, we do have ultimate solution; guess what? Do it ourself ;)

0

Please sign in to leave a comment.