http://www.intellij.net/tracker/idea/viewSCR?publicId=31009
In my previous post - "GUI - All swing components and custom components needs to be available" -I propose a way for extending the GUI builder to be able to quickly and easily include any component class, instead of just the components on the palette.
In this suggestion, I will expand on that approach, of being able to change the class of any dragged in component simply by editing a Property/Value at the top of the list called "Class".
One clearly missing feature from the GUI (again, unless I missed it) is the ability to bind listeners (actions) to the UI components without going to code. One of the advantages of my proposed method of allowing for any class to be assigned to a component in the UI, is that the component introduced need not be a component at all. In fact, it can be an instance of any class.
This opens up an entirely new set of options. Most importantly, it can allow for a graphical method for attaching listeners to components. Through introspection of the class, a class that implements ActionListener can be associated with a component.
It may even be possible to make this functionality more general, allowing any class, that implements the proper interface to be joined with any other class that expects an object of that interface.
In the GUI builder I have spent the most time in, InterfaceBuilder (Mac OS X and NeXTSTEP), this proposed methodology, both for the utilization of all kinds of classes, custom classes, and for attaching actions to UI elements was implemented extremely effectively. I have every confidence that the Intellij team can accomplish at least as much.
Thanks for reading.