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.
Please sign in to leave a comment.
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.
Whome wrote:
bind component to some field and operate with this field.
With best regards,
Vladimir Kondratyev
_____________________
JetBrains
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 :)
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.
******++__
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 :)
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
:)) 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 ;)