I've done a fresh build of JavaFX 12 and JDK 13(12 hasn't been released yet but apparently 13 is a thing). These issues still exist.

Unrelated to JavaFX but client builds of the JDK fail with config --disable-warnings-as-errors --with-jvm-variants=client --with-import-modules=../rt/build/modular-sdk. What list should this be reported to?


On 1/2/19 6:27 PM, Ty Young wrote:

(I'm too lazy to make different emails for every bug so I've just thrown them in a single email. Hopefully that isn't a big deal.)


In my attempt to write a more proper responsive JavaFX UI, I've created a new JavaFX project which extensively uses DoubleBindings to force the min/max width/height of various components to their parent containing objects(HBox and VBox mainly) so that 1440p and 4k displays could be more easily supported. While it does allow for easier 1440p and 4k scaling, JavaFX itself seems to have /extremely/ horrible content rendering & resizing bugs to the point where the application becomes usable.


For clarity, the applications uses buttons in a VBox which when clicked set a ScrollPane on the right side to whatever pane the button represents("About" for example) like a TabPane. This is so it can be scaled more easily to different resolutions.


Multiple of the bugs can be observed by simply resizing the JavaFX window. When doing so, content will seemingly struggle to keep up with resizing events. As a result, white(or sometimes black) glitching can be seen wherever the window is being expanded and UI components will "jump" around. TableView's horizontal and vertical scrollbars will glitch out and show while the window is being resized even though it has plenty of room to display the contents. They sometimes even get stuck, requiring the user to resize the window for them to go away.


If the window is resized or if the window is maximized and later unmaximized , any non visible content will not be resized and will require that the window be resized by the user. A horizontal scroll bar will be displayed and usable to scroll to the content that hasn't been adjusted to the new window size. Sometimes JavaFX will slowly resize the content in seemingly steps however it doesn't always do this.


Thinking that this might be problems caused by extensive use of DoubleBinding, I launched SceneBuilder 10 which uses Oracle JDK 10. It has all of the same UI glitching that I've encountered in my JavaFX application at a lesser scale besides TableView since it doesn't use TableView.


The degree of how badly the bugs happen seemingly depend on:

    A. The app launch

    B. The time the application is open

    C. The max stretched width/height of the window


In other words, it's possible to experience little UI glitching one app launch while using it after awhile but then relaunch it later with no code changed and get far more glitching.


Another problem is a font bug revolving around making text bold. When attempting to make a label bold, the boldness is seemingly not being applied to some Label text. It might work on a few Labels in a certain part of the UI but completely refuse in other parts. Making things weirder is the disappearing boldness of Labels after setting a new Pane in the ScrollPane and switching back to a that specific pane.


For example: on first click to the pane two labels will be bold as set in code. Switching to another pane and back results in the last bold label not being bold anymore. Switching to another pane again results in the first Label no longer being bold.


All of these bugs make the application unusable(except the boldness bug). Is this all known? Are there any workarounds?


P.S. To whoever is developing SceneBuilder, please add a minimum width/height to the stage. A user shouldn't be able to make resize the window to 1x5 or whatever the smallest window size is allowed by the OS.

Reply via email to