NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed. (sponsored)
In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.
Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.
Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Replies:
32 -
Pages:
3
[
123
| Next
]
Threads:
[
Previous
|
Next
]
In a new Javalobby Expert Presentation, Roman Strobl of the NetBeans Team takes a few minutes out of his day to show you the great updates that NetBeans 6 delivers to the Matisse GUI builder. Listen in as he tells you how to quickly and easily build data driven applications with the new Matisse and JSR-295 support (bean binding).
Great demo, Roman, and please give my congratulations to the whole Matisse team. You guys have built a helluva tool. I can't remember any time I have watched someone build a legitimate, data-driven GUI application like this in under 9 minutes, especially not one that looks so good and behaves so well!
Do you have any plan to support other layout managers than GroupLayout? As you know it is nearly impossible to change a layout done with Matisse by hand, which effectively locks you into NB for all project members. This can be on purpose of course, and even advantageous, but not desirable for anyone else than Sun.
Unfortunately you can't have the same experience as with GroupLayout (no guidelines) because they are not as good as GroupLayout, but you can use them and we have a good GridBag customizer, which was popular by many people before GroupLayout came.
> As you know it is nearly impossible
> to change a layout done with Matisse by hand,
That is correct.
> which effectively locks you into NB for all project
> members. This can be on purpose of course, and even
> advantageous, but not desirable for anyone else than
> Sun.
That is not completely correct You can use Eclipse-based tools to work with GroupLayout:
MyEclipse is reusing NetBeans' code so the experience is similar. Instantiations have a new visual editor I think. I believe they handle reverse engineering of GroupLayout code (unlike NetBeans), but I haven't really worked with those tools. So you don't get locked into a Sun-only layout.
Would it be hard to plug in another layout manager for a third party?
Also, are there any plans to get rid of the .form file?
To not be locked into something one needs to be able to back and forth between two IDEs. Today, since you use the .form file, you can only go
from
netBeans Once you edit something outside NB you can never go back. Therefore it would IMO be advantageous if you dropped the .form file and re-parsed the code instead, just like Window/SwingBuilder and MyEclipse does.
I don't know how hard it is to plug-in another layout manager, it is definitely possible. I will ask about it.
We had some talks about doing reverse-engineering of generic Swing code but it is a very difficult problem to solve. I know we would really want to do this, it's just very difficult to do it right.
I'll let the experts reply here... stay tuned for a better response from the team.
> Would it be hard to plug in another layout manager for a third party?
It is easy for a very simple layout manager like FlowLayout - that can work automatically just by installing to palette. For complex layout managers we have some private APIs for writing support classes that allow to manage layout constraints for components - but this system never proved very useful. It never became official, is not documented. Still several people managed to integrate some layout managers. The last I know about was FormLayout and TableLayout - https://developer.berlios.de/projects/nblayoutpack/
This system was not used when implementing the "free design" paradigm backed by GroupLayout. It is kept for the other layout managers, with all the limitations in interaction and visualization. Would be nice to have something better, but that's a rather difficult task deserving to be done right, for which we don't have resources now - so it's not going happen any time soon.
I bet you are interested in support for MigLayout (issue #93370). Actually at some point we would like to simplify the design of grid-based layouts - which could make support for MigLayout (or part of it) much easier. This is more probable than that we ever create a super generic layout support system.
> Also, are there any plans to get rid of the .form file?
I think it is very unlikely we would completely get rid of the .form file, but we have some work done on importing GUI forms from code (i.e. no two-way edigting, just one-off import that build the form file). It's a question when we will finish it but eventually it should be much easier to move to NetBeans with GUI in code and use the GUI builder for that. Can't promoise, but it could be in NetBeans 7.0.
Isn't the Visual Editor for JSF parsing code? I wish you would reconsider on the .form file. It is the single reason why I can not recommend NetBeans to projects.
All looks very nice! I've often wondered if there is a way to make use of the GUI builder within my own applications - for example, if I wanted to have an simplified version of Matisse embedded within an application to enable users to customise a form layout, but with a restricted selection of components available?
Very interesting demo, thanks. I'm trying to follow the demo steps with NetBeans 6.0 Build 200711261600 but the Action editor seems to be missing. There's no "Set Action..." item in the context menu and "..." button of the action property tells me it's not supported. What am I missing? Thanks.
Hi Tom, did you create the project as a "Java Desktop Application"? Don't forget to create a project based on JSR-296, if you create a panel in a normal Java SE project you will not get the "Set action" option because it uses JSR-296.
NetBeans 6: Matisse Updates
URL: Matisse Updates
At 11:00 AM on Dec 14, 2007, Matthew Schmidt wrote:
Fresh Jobs for Developers Post a job opportunity
Listen to the presentation and demo now.
32 replies so far (
Post your own)
Re: NetBeans 6: Matisse Updates
Great demo, Roman, and please give my congratulations to the whole Matisse team. You guys have built a helluva tool. I can't remember any time I have watched someone build a legitimate, data-driven GUI application like this in under 9 minutes, especially not one that looks so good and behaves so well!Rick
bestuff.com - the best stuff in the world
Re: NetBeans 6: Matisse Updates
Thanks Rick! I have shared your nice comments with the Matisse team.Re: NetBeans 6: Matisse Updates
All the steps in the demo are described in our wiki in case anyone wants to try to go through it step by step:http://wiki.netbeans.org/wiki/view/NBDemoMatisseInNB6
I can't take credit for this demo script, it was written by Matisse developers, so I just turned it into a screencast
Btw other similar demo scripts for different topics and also up-to-date slides are available on the NetBeans worldtour wiki page:
http://wiki.netbeans.org/wiki/view/NetBeansWorldTour2008
Re: NetBeans 6: Matisse Updates
Very nice demo. Matisse is getting better and better.Re: NetBeans 6: Matisse Updates
Hello Roman,Do you have any plan to support other layout managers than GroupLayout? As you know it is nearly impossible to change a layout done with Matisse by hand, which effectively locks you into NB for all project members. This can be on purpose of course, and even advantageous, but not desirable for anyone else than Sun.
Cheers,
MiG Java Calendar Component, MiG Layout for Swing/SWT (Vote -> JDK)
Re: NetBeans 6: Matisse Updates
Hi Michael,> Do you have any plan to support other layout managers
> than GroupLayout?
We support various different layout managers, which can be set e.g. for individual panels:
* AbsoluteLayout
* BorderLayout
* BoxLayout
* CardLayout
* FlowLayout
* GridBagLayout
* GridLayout
* NullLayout
Unfortunately you can't have the same experience as with GroupLayout (no guidelines) because they are not as good as GroupLayout, but you can use them and we have a good GridBag customizer, which was popular by many people before GroupLayout came.
> As you know it is nearly impossible
> to change a layout done with Matisse by hand,
That is correct.
> which effectively locks you into NB for all project
> members. This can be on purpose of course, and even
> advantageous, but not desirable for anyone else than
> Sun.
That is not completely correct
http://www.myeclipseide.com/module-htmlpages-display-pid-5.html
http://www.instantiations.com/windowbuilderpro/docs/layoutmanagers/grouplayout.html
MyEclipse is reusing NetBeans' code so the experience is similar. Instantiations have a new visual editor I think. I believe they handle reverse engineering of GroupLayout code (unlike NetBeans), but I haven't really worked with those tools. So you don't get locked into a Sun-only layout.
Re: NetBeans 6: Matisse Updates
Hi Roman,Would it be hard to plug in another layout manager for a third party?
Also, are there any plans to get rid of the .form file?
To not be locked into something one needs to be able to back and forth between two IDEs. Today, since you use the .form file, you can only go from netBeans
Cheers,
MiG Java Calendar Component, MiG Layout for Swing/SWT (Vote -> JDK)
Re: NetBeans 6: Matisse Updates
I don't know how hard it is to plug-in another layout manager, it is definitely possible. I will ask about it.We had some talks about doing reverse-engineering of generic Swing code but it is a very difficult problem to solve. I know we would really want to do this, it's just very difficult to do it right.
I'll let the experts reply here... stay tuned for a better response from the team.
Re: NetBeans 6: Matisse Updates
Hi Mikael,> Would it be hard to plug in another layout manager for a third party?
It is easy for a very simple layout manager like FlowLayout - that can work automatically just by installing to palette. For complex layout managers we have some private APIs for writing support classes that allow to manage layout constraints for components - but this system never proved very useful. It never became official, is not documented. Still several people managed to integrate some layout managers. The last I know about was FormLayout and TableLayout - https://developer.berlios.de/projects/nblayoutpack/
This system was not used when implementing the "free design" paradigm backed by GroupLayout. It is kept for the other layout managers, with all the limitations in interaction and visualization. Would be nice to have something better, but that's a rather difficult task deserving to be done right, for which we don't have resources now - so it's not going happen any time soon.
I bet you are interested in support for MigLayout (issue #93370). Actually at some point we would like to simplify the design of grid-based layouts - which could make support for MigLayout (or part of it) much easier. This is more probable than that we ever create a super generic layout support system.
> Also, are there any plans to get rid of the .form file?
I think it is very unlikely we would completely get rid of the .form file, but we have some work done on importing GUI forms from code (i.e. no two-way edigting, just one-off import that build the form file). It's a question when we will finish it but eventually it should be much easier to move to NetBeans with GUI in code and use the GUI builder for that. Can't promoise, but it could be in NetBeans 7.0.
Re: NetBeans 6: Matisse Updates
Thanks for the info Tomas.Isn't the Visual Editor for JSF parsing code? I wish you would reconsider on the .form file. It is the single reason why I can not recommend NetBeans to projects.
I am impressed with 6.0 btw.
MiG Java Calendar Component, MiG Layout for Swing/SWT (Vote -> JDK)
Re: NetBeans 6: Matisse Updates
Mikael is right, because of the .form problem, NetBeans is not allowed at my working place.We cannot have code bound to a specific tool, it is a surprising mistake coming from SUN ? The opposite of WORA ?
Re: NetBeans 6: Matisse Updates
All looks very nice! I've often wondered if there is a way to make use of the GUI builder within my own applications - for example, if I wanted to have an simplified version of Matisse embedded within an application to enable users to customise a form layout, but with a restricted selection of components available?Re: NetBeans 6: Matisse Updates
Very interesting demo, thanks. I'm trying to follow the demo steps with NetBeans 6.0 Build 200711261600 but the Action editor seems to be missing. There's no "Set Action..." item in the context menu and "..." button of the action property tells me it's not supported. What am I missing? Thanks.Re: NetBeans 6: Matisse Updates
Hi Tom, did you create the project as a "Java Desktop Application"? Don't forget to create a project based on JSR-296, if you create a panel in a normal Java SE project you will not get the "Set action" option because it uses JSR-296.