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!
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 🙂
That’s great news.
Keep going 🙂
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
how u suppose to attach controller class to fxml in pure SceneBuilder w/o NetBeans? I open manually designed fxml layout with specified controller in, but SceneBuilder see nothing.
This issue only if Importing fxml, at Open work fine.
Looks fine. But I’m missing a image view control…?
Really interesting, I have been waiting for this! I am on Linux, though, any news on when it might be executable for our platform? I really look forward to using this tool.
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.
Thanks for any help!
I spent a while on this with partial success.
I merged extracted files from dmg file and files from javafx-2.1-beta19-linux.
Prepared package you can download from this:
Script launcher is inside.
When I tested app on my Ubuntu 11.10 I observed a bug with showing menu unfortunately…
But maybe it’s my fault, by my “hard merge” or smth else…
Please share with you experiences…
Hi Rafal (and everyone else)!
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!
Hi, would like to thank you for this, it is working on fedora 17.
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.
Awesome job guys and gals!
What’s a pity that such expressive job totally devalued by RT-18901
What is it about?
Sub-pixel anti-aliasing on translucent windows it seems. That is, sub-pixel rendering will not work on windows that have a shape.
In non-geek: Sometimes text will look blurry.
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. 🙂
Good job! It looks nice and is nice to use.
It seems it cannot handle setting I18N keys though (have to remove the \ infront of % when opening FXML back in NetBeans).
Keep the FX love coming!
Also the FXML file icon could use some rework on Windows (it looks bad). You need to provide it with several icon sizes. 😛
Great job guys!
But what’s with the BorderPane and ImageView controls? Are they dropped, or just not included in this release?
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.
The best way to create an ImageView in the document, currently, is to use the File > Import… menu which will bring up a File Chooser and let you select an image file.
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?
Can u share the source code? 😉
I’m interesting in create an app with the same style
Looks great so far! Keep up the good work.
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.
/usr/java/jdk1.7.0_03_32bit/bin/java -Xbootclasspath/p:/usr/java/javafx-sdk2.1.0-beta/rt/lib/jfxrt.jar:/home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/javafx-beans-dt.jar:/home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/javafx-designtime.jar -cp /home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/SceneBuilder.jar -jar /home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/SceneBuilder.jar
the nine lines above are all one line on the command prompt. If anyone knows of an easier way please let me know. Hope that helps someone.
UPDATE: If you are getting graphical errors (the screen turns black) you can try this.
/usr/java/jdk1.7.0_03_32bit/bin/java -Xbootclasspath/p:/home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/jfxrt.jar:/home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/javafx-beans-dt.jar:/home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/javafx-designtime.jar -cp /home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/SceneBuilder.jar -jar /home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/SceneBuilder.jar
sudo cp -R /usr/java/javafx-sdk2.1.0-beta/rt/lib/i386 /home/working/Documents/JavaFX\ Scene\ Builder\ 1.0.app/Contents/Resources/Java/
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. 🙂
This would be cool. FWIW right now you can get this already with E(fx)clipse project if I am not mistaken.
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.
Just had a quick look – very, very nice! Great work!
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?
I am developping a customized component. Is it possible to use it in scene builder? Any guide for this? Thanks.
Nice! I’d love the numeric value fields to be draggable with right mouse button. Also missing BorderPane and MediaPlayer. Awesome that fx:include works correctly =)
I have successfully installed SB but couldnt run on java6.
clicked on the shortcut, nothing appeared on the screen.
I had to remove java6 and installed java7, now everything’s fine
btw, many thanks for such a great tool 🙂
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?
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
Thanks a lot for your work
who cares? javafx died when they dropped the linux support of the SDK
erosb, you do realise there is Linux support in the developer preview releases of JavaFX right? You can download the linux SDK here: http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html
Soon enough this will be officially supported as the engineers finish adding all the relevant platform support. This is not a small task and we’re going as fast as we can.
I care! And no they didn’t. Please stop spreading this misinformation.
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?
Very nice app. But the Gradients in the fill property is missing for mee.
Are you planning to integrate it?
Now just wait for Avatar project… My applications are fly using scene builder…
Very good work!
Way to go gang! SB has the potential to massively improve productivity.
Rather than use SB to design our app from the root node on down, we are using it for nodes that are added and removed from the scene graph during user workflow.
First snag: when specifying a style class for a node in SB, it doesn’t seem to recognize colours and gradients specified in the .root section of the stylesheet.
Will hit SB as hard as possible – deking over to JIRA project now.
Keep it going!
I just logged DTL-4487 to track the root style class. A root style class could be added to the parent of your content.
Merci Jean-Francois, I added the root style class to the parent AnchorPane – colours and gradients specified in the root propagate nicely. Thanks for the prompt response
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.
I installed screen builder by following instruction, Everything is ok but when I clicked screen builder’s hand icon in my desktop, nothing happened. Why ?
How could i get a JFrame inside JFXPanel
I started work with the java fx in netbeans on linux.. but i am not able to get the gui of scene builder.
please help me to start the scene builder on linux.
Make sure that are you having a correct version of JAVAFX to run in linux from the fallo\wing link
hello, i m from india,
does javafx scene builder provide writing css for any control in its own……???
can i write css for any control in css analyser or any other way…???
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.