Announcing JavaFX Scene Builder Public Beta

Hello from JavaOne Japan, where Jasper, Jonathan and I find ourselves seated in the opening keynote of the morning. One of the big announcements is the public beta of the JavaFX Scene Builder, our new tool for laying out and creating JavaFX content. The Scene Builder is the start of a more comprehensive RAD (rapid application development) tool for JavaFX, with drag-and-drop GUI building and eventually data binding.
At its heart, the Scene Builder is really a layout tool. One of the most difficult aspects of building apps (and something we see very frequently in the JavaFX OTN Forums) is doing layout and constructing the UI, and this is what Scene Builder needs to be really, really good at.

Our experience of the last six months has been that the scene builder in general is very stable and the team has done a lot of work on usability. We’re really hoping for feedback on the user experience, especially as you attempt to use it anger. We’ve done a lot of work trying to figure out what you might naturally want to do when building a form, but really it is your feedback and experience that will either validate that design or give us the input we need to make the tool even better.

The SceneBuilder is basically an editor for FXML files. We’ve been working with the NetBeans team as well so that when you double click an FXML file in NB it should open up the scene builder and allow you to edit it. The FXML file is essentially our documented serialization format for the UI. Your event handlers and so forth will be in the Java Controller associated with the FXML file.

From a technical perspective, SceneBuilder is built entirely in JavaFX. A new stylesheet for Scene Builder was developed that we think looks quite nice :-). It really shows what you can do with JavaFX!

You can download the Scene Builder on OTN, and read more about it on the JavaFX Docs page. To give us feedback on JavaFX Scene Builder, go ahead and leave comments here on this blog and we’ll let you know when we’ve got an official channel setup!

53 Comments

shakti biswal
on April 3, 2012 at 7:12 pm

Is Scene Builder going to be integrated with Netbeans and Eclipse in future?

Ya, we designed it so that the SceneBuilder could be embedded in IDEA, Eclipse, and NetBeans. Obviously we’ll be doing the work on NetBeans and hopefully Thomas or somebody in the community will plug it into Eclipse 🙂

Hello .. I live in Brazil and I am a student of Information Systems
And I’d like to give congratulations to the team and javafx javafx scene builder
I just download and first found the layout very beautiful and soft and Nice to work very good indeed …
Congratulations to the team for me enchanted with this wonderful tool
I hope it stays that way … JavaFX every day showing their true potential
parabens

Try grabbing the mac version, cd into the .app file and extract the jars and launch on Linux. My guess is it will work, but I haven’t tried it yet. I will have to get back to you on the schedule, but the GA for SceneBuilder coincides with the GA for JavaFX Linux, and I would expect support to be there at that time at the latest.

I downloaded and extracted the files and put everything in a subfolder to the place where the jar-files existed. Now, I don’t really know which file to start… I have tried “java MacSceneBuilderLauncher” and “java Main” but both alternatives return java.lang.NoClassDefFoundError

I know that everything eventually will be available for us on Linux as well, but since JavaFX 2 and now Scenebuilder really have returned the fun of computing, I would very much like to get it working.

It works really well! I can’t seem to find any problems with the menus, though I have not worked it very hard yet. But every thing seems to work!

Thanks a million!

//Tobias

Vladius
on August 27, 2012 at 8:36 am

Hi, would like to thank you for this, it is working on fedora 17.

Jeff
on April 4, 2012 at 3:33 am

Wow! SceneBuilder is impressive.

– SB has been given a lot of UI love. Tools and info panels are easy to read and visually appealing. The new SB skin gives SB a higher quality feel. You should consider pushing the SB refinements back into JavaFX.

– Equally impressive is the fact that SB is written in JavaFX 2. Eating your own dog food and loving it.

– The click-hand icon ,,, solid choice.

– As I fumble through using SB I continue to be impressed with the attention given to details. Things such as Support for live interaction. Clicking on a tab in the design switches to the tab. Clicking on an accordion header reveals the content (although the animation is missing).

– In the “Hierarchy” panel header there is a disclosure triangle on the right hand side. The triangle makes you think you’re working with an accordian component, but you’re not … it’s a popup menu. Perhaps a button popup would be less confusing,

I have a lot of other thoughts I’d like to share, but more importantly I want to congratulate The JavaFX team and the SceneBuilder team in particular for creating an amazing tool. Now that I know that it’s out there … I’ll be busy installing the nightlies (or perhaps weeklies) and adding my comments here.

If you didn’t notice this when JavaFX 2 was released you will not notice it now. JavaFX 2 was released with no sub-pixel anti-aliasing at all. Now they have it for all opaque windows which is a huge step forward. 🙂

Concerning ImageView, found out it was missing from the list while trying to set graphic (AKA icon) on a text-less Button. But if you manually edit the FXML to insert the graphic property in that Button then SceneBuilder displays the ImageView within the Button node (bottom-left pane) and allows to edit its properties (image, etc.) in the right side panes.

Very, very nice =)
I didn´t expect a public beta that early, so I was very surprised this morning.

It is great to see how you try to push JavaFX in every way and how you include the community in this process.

I have two questions:

– Will the search field on the top left be included as an individual control in a future JavaFX release? It is not that big of a problem to create one on your own by styling a TextField accordingly, but I think that a search field is a very common control in applications today, so a ‘official’ search field would be a good idea.

– How did you create the separator/title lines with the text in between in the detail panels on the right?
Are these just two styled horizontal separators with a label or text between them? If yes, how can you style a separator like this?

@Tobias
I am new to Java and programming but was still able to get this beast running on openSUSE 12.1 64 bit. Here’s what I did.

1) I installed the javaFX sdk in the /usr/java/javafx-sdk2.1.0-beta/ directory.
2) I have the jdk in the /usr/java/jdk1.7.0_03_32bit/ directory
3) I installed transmac from here http://www.asy.com/scrtm.htm using wine to extract the contents of the .dmg file to /home/working/Documents/JavaFX Scene Builder 1.0.app/
4) I then initiated the following command which explicitly set the class paths and executes the main jar file.

Will you have a simultaneous view of window layout and FXML code? My favorite way of using XAML in Visual Studio is to edit the XAML code directly and just use the layout view as a preview, rather than dragging & clicking layout elements with the mouse. So if you don’t have that feature yet I vote that you please add it. 🙂

Hi,
you can already achieve that by using the editor of your choice. Load the FXML document in the SceneBuilder then edit/save from the text editor. You will then see the Scene Builder automatically refreshing the content.

Here’s my first suggestion for usability. It’s something Apple does with Keynote on the Mac, and that Microsoft and OpenOffice don’t do. IMO, it’s important for helping people create really nice-looking UIs, easily. It’s one of the reasons Keynote presentations tend to look more elegant than PowerPoint and OpenOffice presentations.

When using corner grab handles to re-size objects where there’s usually only a single “correct” aspect ratio – that’s things like text and image (eg photo) objects – the default behavior should be that the aspect ratio is preserved. That is, there should be no need to invoke a quasi-mode to keep the aspect ration correct eg via holding down a modifier key while dragging to resize. It might seem like a small issue, but it has a big impact on usability.

At the moment, in JavaFX SceneBuilder the default behavior when sizing text objects tends to result is disgustingly distorted text 😉 I can see this resulting in people creating some truly horrific-looking UIs!

This suggestion falls into the category of, “Making the things people want to do often, super easy.”

It’s a great news and good tools. I’d like to know more things about the next version of Scene Builder, Will it supports animation creation such as animaiton timeline just like JavaFX Authoring Tool which was demo in JavaOne 2009?

It’s a great news and good tools. I’d like to know more things about the next version of Scene Builder, Will it supports animation creation such as animation timeline just like JavaFX Authoring Tool which was demo in JavaOne 2009?

Hello everybody,
The tool is very nice and very professional! Great job! It is necessary to help for adoption of javafx to build professional apps.
1) But my computer at home is a old (core 2 duo with 4gb of ram) notebook with a Nvidia GO 7300 video card which is blacklisted by javafx to run hardware acceleration. The problem is that SB is not suitable in software rendering mode : it suffers of big UI latency… it makes not possible to deploy rich javafx app on incompatible computers. Do you plan to implement more video card compatibility in javafx and reintroduce old (but widespread) video cards or do you plan to improve performances of software rendering?
2) What are the main features you plan to add in SB next versions? Here is a list of some of my ideas (not ordered by prority) :
-Custom control management and help for editing sub fxml files
– cells customization (support of custom cell factory and visual edition of cells)
– CSS style edition with visual edition
– animation support with use of transitions and triggers
– i18n support
– property binding
– support of custom controller factory
– support of classpath resources
– accessible design mode in controller to provide mock data
– support of testing framework like Jemmy fx

Great work. Looks and usability both good.
Re i18n – or rather, resource substitution, there appears to be an issue in that the resource bundle is set for the FXML loader in Java code (I’m new to FXML, so I may be mistaken here), rather than a processing instruction in the XML – so how would Scene Builder know where to find the resources without some sort of associated project file separate from the FXML file?

You are welcome,
A new feature that will land in a future Developer preview will allow you to set stylesheet files that contain rules global to the scene (such as for root style class). These stylesheets will be not referenced from the FXML but will allow you to visualize your design as if it was located inside a Scene.
Regards.
JF Denise

Hi, I think I am not the first to talk about this, but I really think FXML should change. I have some experience with JSF and Facelets, and I am very happy with the way it uses XML format and namespaces. JavaFX should have followed this standard since is very flexible and semantic. And also, one thing I think it would be very helpful it is the possibility to edit FXML by hand in Scene Builder.