This discussion is archived
1 2 3 Previous Next 41 Replies Latest reply: Feb 13, 2013 3:36 AM by PhHein Go to original post RSS
  • 15. Re: Provide feedback on JavaFX Scene Builder
    804628 Newbie
    Currently Being Moderated
    @javafx4you
    I used it and its excellent. Great job and have been looking something like this in the internet. I am glad it available today.
  • 16. Re: Provide feedback on JavaFX Scene Builder
    894771 Newbie
    Currently Being Moderated
    SceneBuilder is just pure awesomeness!

    It's obvious that the SB team really pays attention to details and totally gets what "usability" means. Even at this early stage of development I've been impressed by what's already baked in and impatiently excited to see the refinements and new "WOW" to come.

    Awesome features
    1. Attention to detail:
    A. Sample data can be inserted with a simple menu.
    B. Sample data is available for charts as well as text.
    C. Revert to saved.
    D. There's lots of other attention to detail awesomeness, you don't have to look hard to find it.

    2. Live rendering. Seeing changes as they are being made is a massive improvement over textual coding values. I'd like to see live component resizing added as well. The empty rect resizing is ... well, so last millenium.
    3. Use of Segmented RadioButtons instead of plain old RadioButtons saves space, is easier to see what is selected, and is visually more appealing.
    4. In general ... all of the editor panes (property editor, layout editor, etc) are well organized and visually appealing without sacrificing functionality.
    4. Undo & redo ... it just works!
    5. Color picker choicebox property editor ... slick component, nice layout, way more efficient than a using modal dialog.
    6. Property editor - effects property editor ... another slick component. Components like this show off how powerful JavaFX can be created custom components. The big drawback to this component is that the "+" add effect and "-" for remove effect are visually and functionally separated. Seeing something like "None" as placeholder text would be nice rather than just a blank surface on the component.
    It's stuff like this that makes SB stand out. I'm excited about using SB.

    Issues that I've come across
    1. Double clicking on an FXML file causes ScreenBuilder to be reinstalled ... or at least the re-install dialog comes up with a fully functioning progressbar indicating that progress is being made on an installation.
    1. Needs a visual indicator that the layout has been modified and is unsaved.
    2. Missing support for Group nodes.
    3. The "Saved" banner is annoying because it sits on top of the component breadcrumb trail.
    4. Make the BreadCrumb trail component a standard control in JavaFX.
    5. The "Saved" banner will show a tooltip. Both the tooltip and the banner display the save path so having the tooltip is unnecessary.
    6. I need contextual menus everywhere! Please! Please! Please!
    7. Dragging and dropping components around in the Hierarchy view doesn't provice good visual feedback when a component can be dropped into a container. It looks like there are indicators being drawn, but they are faint and need better contrast. Part of the confusion also comes from drawing the outline of the list node in addition to drawing the insertion line (This is probably the biggest spurce of visual confusion).
    8. Can the top level component be something other than an AnchorPane?
    9. There's no visual feedback when the user has clicked on top of the scroll thumb in the scroll pane in any of SB's panels. Display a light or darker fill color when the mouse button is pressed to provide feedback that the user has properly clicked within the scroll control.
    10. Dragging and dropping multiple images from the file system onto SceneBuilder only imports one image. All images should be inported.
    11. Add feature to snap to horizontal or vertical when drawing or resizing a line while the user is holding down a modifier key (such as Control on Windows and Command key on the Mac).
    12. Add feature to proportionally resize a line while the user is holding down a modifier key (such as Control on Windows and Command key on the Mac).
    13. Attempting to click drag an image with transparent areas won't drag if you clicked on a transparent pixel.
    14. I wish I could easily switch between an xml view the visual layout view.
    16. SceneBuilder should be aware of file changes and automatically update the view. The problem here is that this feature is implemented, but it's flakey. The view doesn't always update. I think there are multiple issues causing the problem and I've identified one of them. When the FXML file has been edited externally and there is an error introduced into the FXML then SB won't update and gets caught in this Clash-ish "should I stay or should I go" schizophrenic state.
    17. Changing the opacity on the top pane (AnchorPane) doesn't affect the view.
    18. If you add an ImageView into the FXML by and the ImageView will render correctly, however, editing the "scaling" property makes SB angry and it refuses to let you save after that. If you really push SB's by selecting multiple ImageViews in the Hierarchy pane and then set the Rotation property ... SB will punish you by locking up and forcing you to go mid-evil on it by issuing a kill command. Nastiness.

    Wish List:
    1. Without stable ImageView support I'm dead in the water. I've been hand editing my own ImageView FXML and letting SB render it, but Image support just isn't ready yet. The fact that ImageView isn't supported indicates that this is all a know issue. Until Image support is in SB is more of a fun demo and a way to fidget around and learn a little FXML.
    2. SB is obviously focused on getting Layout right in this release. That's a solid choice. I'm looking forward to seeing deeply integrated support for visually editing styles.
    3. Improvements in the path and shape editing abilities. If time was unlimited and there was no limit to the development budget I'd say add an Illustrator clone to SB. Obviously those aren't realistic constraints, but the moving the direction of a fully featured vector editor sounds yummy. I wonder if there's any desire to recreate the old JavaFX plugin for Illustrator to export Illustrator illustrations into FXML files (or rather snippets because you can't embed an FXML file into another FXML file)?

    Netbeans Issues:
    1. It's nice to be able to edit the FXML visually, but, in Netbeans, when wanting to edit the raw xml I have to be careful not to double click on the file in the project pane or I'll be back in SceneBuilder.
    2. Netbeans is way to aggressive when handling FXML files. If you drag an FXML file onto the editor Netbeans will launch SceneBuilder. In order to edit and FXML file as an xml file it mst belong in a project that's open in Netbeans, and you must right click on the file and select 'edit' from the contextual menu.
  • 17. Re: Provide feedback on JavaFX Scene Builder
    931691 Newbie
    Currently Being Moderated
    I found it very good, but I believe that as we approach the launch of the final version it should improve in many aspects such as:
    A substantial improvement in performance, is currently very slow
    Referral of events does not always work
    The referral of the StyleSheet is very complicated

    Another fact which I find very strange is that the development goes full steam ahead on the Windows platform, but it is normal that develops Java has a preference for using Linux and Mac but this is getting complicated. I think that Oracle could take a level in things and make the next simultaneous builds are cited for three OS because today I am stuck with Windows for studying sink JavaFX and I liked most in developing Java is that this story had to be stuck on a platform.

    That's it, thanks!
  • 18. Re: Provide feedback on JavaFX Scene Builder
    857529 Explorer
    Currently Being Moderated
    @ 928688


    Can you expand on your comment on these two topics:

    1. Referral of events does not always work
    On what kind of issue did you run into? Knowing the steps to reproduce your problem would be of interest.
    We are currently working at providing some support in order to expose disocovered controller class event handlers.

    2. The referral of the StyleSheet is very complicated
    You mean, setting the stylesheet files in the Stylesheets properties? The overall css workflow?

    Thanks you for your input!

    Nicolas and Jean-Francois
  • 19. Re: Provide feedback on JavaFX Scene Builder
    933766 Newbie
    Currently Being Moderated
    I have just tried to use unicode characters for labels. Although they are displayed correctly in scene builder, the generated fxml file contained question marks. After I have tried to edit the fxml file directly and opened the file with the scene builder the displayed characters where in wrong encoding.
  • 20. Re: Provide feedback on JavaFX Scene Builder
    daniel Journeyer
    Currently Being Moderated
    Hi

    @javafx4you
    Yes - this is a known bug. It's been fixed in the SceneBuilder trunk. SceneBuilder was supposed to use UTF-8 encoding to read and write FXML files but somehow it was missing in some places. The corresponding JIRA is there http://javafx-jira.kenai.com/browse/DTL-4416

    sorry for the trouble,

    -- daniel
  • 21. Re: Provide feedback on JavaFX Scene Builder
    894771 Newbie
    Currently Being Moderated
    The installer places some of the config files in the directories that follow the native conventions, and I think the installer itself is native or partially native. Linux support is still in beta I believe. It wouldn't be surprising if there just hasn't been enough time or resources to test SB on Linux. So it's not that SB is really far behind Windows or the Mac, it's more likely a matter of resource allocation.
  • 22. Re: Provide feedback on JavaFX Scene Builder
    948409 Newbie
    Currently Being Moderated
    I tried to load an FXML that I made for an application with a current SceneBuilder version (1.0 b44 & b45)
    Main purpose was to investigate how well the SceneBuilder can work with custom classes and custom controls. So in our FXML there is a lot of own logic going on.

    I noted that the release notes of the 1.0 version point out that the SceneBuilder currently does not support custom classes. I tried anyway.

    Loading a very simple FXML file that just contains a VBox with one of our custom controls in it works in b44 after specifing the classpath in a dialog. The file is loaded and the properties are editable in the right pane. Sometimes when dragging around or resizing the control the GUI freezes up. Ok I guess, its a preview version so thats not terrible.
    I noted that when I make changes in the FXML file, SceneBuilder recognizes the file changes and informs me of a reload. When I reload it, a dialog appears that he couldn't find several classes (my custom control). Obviously the application forgot about the classpaths I specified earlier. The more annoying thing is that I cannot on reload specify the classpaths again since the dialog doesn't pop up.

    Then I tried to load our complex application FXML file into the SceneBuilder and we stumbled across following error:

    We have a class that provides access to arbitrary static properties of classes, like the x:static method in XAML. This works via reflection. In FXML you can use this to represent any object. You could for example access the static field "NAME" of the class "Person" in the following way:
    <StaticProvider property="NAME" providerClass="package.Person" />
    If the field "NAME" was of type String, you could use it for example in a label:
    <Label><text><StaticProvider property="NAME" providerClass="package.Person" /></text></Label>
    When starting the application normally, this works like a charm: JavaFX coerces the string "package.Person" automatically into a Class and hands it to the StaticProvider class. StaticProvider implements the Builder interface and in its build() method it looks up the field "NAME" of the class "Person" via reflection and returns whatever it may yield.

    When loading the FXML file in SceneBuilder however, I'd get the following error for above example:
    java.lang.IllegalArgumentException: No such property java.lang.String.property
    Obviously JavaFX tried here to look up the attribute "property" on the expected type (String) and not on the actual type (StaticProvider), which renders this functionality useless.

    Another FXMl file I tried to load (that also contains some custom stuff) failed with the following error:
    "Cause is null"


    Then I tried the same with SceneBuilder 1.0 b45 and nothing worked. When I try to open a FXML file with custom controls/classes, the program crashes completely. I guess the "working with custom classes" thing was considered a bug and was fixed in b45 to match the release notes :)
  • 23. Re: Provide feedback on JavaFX Scene Builder
    885691 Pro
    Currently Being Moderated
    We have a class that provides access to arbitrary static properties of classes, like the x:static method in XAML.
    Have you looked at fx:constant and fx:factory? Both of these provide access to static class members (public static member fields and factory methods, respectively). fx:value can also be used to invoke a static valueOf() method on a type.
  • 24. Re: Provide feedback on JavaFX Scene Builder
    daniel Journeyer
    Currently Being Moderated
    Hi,

    See here for an explanation on how to work with Custom Types in SceneBuilder.
    http://mail.openjdk.java.net/pipermail/openjfx-dev/2012-July/002803.html

    SceneBuilder will expect your custom types to be 'good citizen' and behave like platform types.
    If your own custom type throw errors cause endless loops or whatever then nothing is guaranteed...

    If you encounter bugs (and especially crashes) can you please log a bug against the DTL (SceneBuilder) in Jira?
    http://javafx-jira.kenai.com/browse/DTL

    Don't forget to mention the version of SceneBuilder you are working with (you can copy text from Help > About) as well as the platform you're running on.
    BTW - if a particular FXML referencing custom types causes a crash in SceneBuilder it would be helpful to mention whether it works as a stand alone application.
    If it doesn't then the project to log against will probably rather be http://javafx-jira.kenai.com/browse/RT (JavaFX runtime).

    Hope this helps,

    -- daniel

    Edited by: daniel on Aug 2, 2012 6:15 AM
  • 25. Re: Provide feedback on JavaFX Scene Builder
    948409 Newbie
    Currently Being Moderated
    Greg Brown wrote:
    We have a class that provides access to arbitrary static properties of classes, like the x:static method in XAML.
    Have you looked at fx:constant and fx:factory? Both of these provide access to static class members (public static member fields and factory methods, respectively). fx:value can also be used to invoke a static valueOf() method on a type.
    I don't know fx:constant nor can i find any documentation on that (my main source is http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/introduction_to_fxml.html ). Neither do I understand how i could use fx:factory for that purpose. Could you elaborate this further? I thought using the builder interface would be a smart choice :)


    @ daniel: thanks for the links provided, I will have a look into it and try to give more exact bug reports.
  • 26. Re: Provide feedback on JavaFX Scene Builder
    885691 Pro
    Currently Being Moderated
    I don't know fx:constant nor can i find any documentation on that
    Oops. I thought we added that for 2.1 but it must have been 2.2. It allows you to refer to a public static final field like this:
    <Person fx:constant="NAME"/>
    Neither do I understand how i could use fx:factory for that purpose.
    fx:factory just looks for a static no-arg method with the given name. It is generally used for producing new instances of a type, but your method could return a fixed value. fx:constant is definitely more appropriate here, though.
  • 27. Re: Provide feedback on JavaFX Scene Builder
    948409 Newbie
    Currently Being Moderated
    Greg Brown wrote:

    Oops. I thought we added that for 2.1 but it must have been 2.2. It allows you to refer to a public static final field like this:
    <Person fx:constant="NAME"/>
    fx:factory just looks for a static no-arg method with the given name. It is generally used for producing new instances of a type, but your method could return a fixed value. fx:constant is definitely more appropriate here, though.
    Thank you, I replaced my construct with the fx:constant where possible (still need it for non-final statics though...)
    With the replacement the error I mentioned in SceneBuilder vanished, however, it still doesn't load the complex FXML file (error: "Cause is null"). I will further investigate.
  • 28. Re: Provide feedback on JavaFX Scene Builder
    885691 Pro
    Currently Being Moderated
    I replaced my construct with the fx:constant where possible (still need it for non-final statics though...)
    Can you share an example of a non-final static you are using in your app? Maybe fx:factory would be of use here?
  • 29. Re: Provide feedback on JavaFX Scene Builder
    daniel Journeyer
    Currently Being Moderated
    Hi,

    You will probably need to open the Java Console in order to see the full exception stack trace (Error: cause is null) looks like an exception with a null message was raised somewhere.

    -- daniel

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points