Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not able to add JFXTextField in Scene Builder 16.0.0 #1205

Open
j-razeed opened this issue May 14, 2021 · 33 comments
Open

Not able to add JFXTextField in Scene Builder 16.0.0 #1205

j-razeed opened this issue May 14, 2021 · 33 comments

Comments

@j-razeed
Copy link

I am using scene builder 16.0.0 and imported jfoenix 9.0.10 controls into the builder. when I try to add JFXTextField into AnchorPane/VBox getting below error in log and control is not getting added:

'Java Message:Cannot invoke "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null'

@thai-nm
Copy link

thai-nm commented May 14, 2021

I got the same problem :(

@j-razeed j-razeed changed the title Not able to JFXTextField Not able to add JFXTextField in Scene Builder 16.0.0 May 14, 2021
@ghost
Copy link

ghost commented Jun 2, 2021

Same problem here, if I try to open an FXML file I know is OK I get some errors about properties

java.io.IOException: javafx.fxml.LoadException: 
/home/soz/dev/sales/JavaFX-Client/src/main/resources/client/NewUserView.fxml:28

	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:92)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:80)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument.<init>(FXOMDocument.java:95)
	at com.oracle.javafx.scenebuilder.kit.editor.EditorController.updateFxomDocument(EditorController.java:2370)
	at com.oracle.javafx.scenebuilder.kit.editor.EditorController.setFxmlTextAndLocation(EditorController.java:655)
	at com.oracle.javafx.scenebuilder.app.DocumentWindowController.loadFromFile(DocumentWindowController.java:386)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenFiles(SceneBuilderApp.java:579)
	at com.oracle.javafx.scenebuilder.app.SceneBuilderApp.performOpenRecent(SceneBuilderApp.java:272)
	at com.oracle.javafx.scenebuilder.app.menubar.MenuBarController$21.handle(MenuBarController.java:1188)
	at com.oracle.javafx.scenebuilder.app.menubar.MenuBarController$21.handle(MenuBarController.java:1183)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
	at javafx.event.Event.fireEvent(Event.java:204)
	at javafx.scene.control.MenuItem.fire(MenuItem.java:462)
	at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1344)
	at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1319)
	at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer$7.handle(ContextMenuContent.java:1287)
	at com.sun.javafx.scene.control.skin.ContextMenuContent$MenuItemContainer$7.handle(ContextMenuContent.java:1285)
	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.event.Event.fireEvent(Event.java:204)
	at javafx.scene.Scene$MouseHandler.process(Scene.java:3746)
	at javafx.scene.Scene$MouseHandler.access$1800(Scene.java:3471)
	at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1695)
	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2486)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:314)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:243)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:345)
	at com.sun.glass.ui.View.handleMouseEvent(View.java:526)
	at com.sun.glass.ui.View.notifyMouse(View.java:898)
	at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at com.sun.glass.ui.gtk.GtkApplication.access$200(GtkApplication.java:48)
	at com.sun.glass.ui.gtk.GtkApplication$6$1.run(GtkApplication.java:149)
	at java.lang.Thread.run(Thread.java:744)
Caused by: javafx.fxml.LoadException: 
/home/soz/dev/sales/JavaFX-Client/src/main/resources/client/NewUserView.fxml:28

	at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2595)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2425)
	at com.oracle.javafx.scenebuilder.kit.fxom.FXOMLoader.load(FXOMLoader.java:89)
	... 52 more
Caused by: com.sun.javafx.fxml.PropertyNotFoundException: Static property "margin" does not exist or is read-only.
	at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:595)
	at javafx.fxml.FXMLLoader$PropertyElement.set(FXMLLoader.java:1414)
	at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:784)
	at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2839)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
	... 54 more

Now if I remove all those properties, I can open the file, but all the JFX fields are blank and and have errors.

@ahmeedev
Copy link

ahmeedev commented Jun 7, 2021

use the previous version of scenebuilder.

Repository owner deleted a comment from palexdev Jun 8, 2021
Repository owner deleted a comment from palexdev Jun 8, 2021
Repository owner deleted a comment from j-razeed Jun 8, 2021
Repository owner deleted a comment from aliyuthman Jun 8, 2021
Repository owner deleted a comment from aliyuthman Jun 8, 2021
@CTaszus
Copy link

CTaszus commented Jul 20, 2021

Same here. Scene Builder 15.0.0 works.

@ahmeedev
Copy link

There is some kind of compatibility issue btw the boths. Sinply, you have to use previous version of scene builder and everything is working fine.

Here is motivation for you about the javafx: https://www.youtube.com/watch?v=IyVFcr9WqMg&list=PLsX7b5vW6uGs6WLz2bbIVOD9qQyBaF_Ds

@nezarjhons
Copy link

i got the same problem and need help please

`java.lang.reflect.InaccessibleObjectException: Unable to make boolean java.lang.reflect.AccessibleObject.setAccessible0(boolean) accessible: module java.base does not "opens java.lang.reflect" to unnamed module @56cca052
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at com.jfoenix.adapters.ReflectionHelper.(ReflectionHelper.java:48)
at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:59)
at com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9456)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2474)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:414)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:413)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:440)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:564)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:544)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:537)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:343)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:831)
java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Field.get(Object)" because "field" is null
at com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152)
at com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70)
at com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123)
at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70)
at com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69)
at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400)
at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9456)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2474)
at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:414)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:413)
at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:440)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:564)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:544)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:537)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:343)
at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:831)

java.lang.NullPointerException: Cannot invoke "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null
at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos (JFXTextFieldSkin.java:109)
at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren (JFXTextFieldSkin.java:93)
at javafx.scene.control.Control.layoutChildren (Control.java:601)
at javafx.scene.Parent.layout (Parent.java:1207)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Parent.layout (Parent.java:1214)
at javafx.scene.Scene.doLayoutPass (Scene.java:576)
at javafx.scene.Scene$ScenePulseListener.pulse (Scene.java:2479)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$2 (Toolkit.java:414)
at java.security.AccessController.doPrivileged (AccessController.java:391)
at com.sun.javafx.tk.Toolkit.runPulse (Toolkit.java:413)
at com.sun.javafx.tk.Toolkit.firePulse (Toolkit.java:440)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse (QuantumToolkit.java:564)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse (QuantumToolkit.java:544)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue (QuantumToolkit.java:537)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11 (QuantumToolkit.java:343)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run (InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop (Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3 (WinApplication.java:174)
at java.lang.Thread.run (Thread.java:831)`

@CTaszus
Copy link

CTaszus commented Aug 5, 2021

as ahmadbintariq4u wrote: Use Scenebuilder 15 instead:

https://gluonhq.com/products/scene-builder/thanks/?dl=https://download2.gluonhq.com/scenebuilder/15.0.0/install/windows/SceneBuilder-15.0.0.msi

@lti-karanveer
Copy link

lti-karanveer commented Aug 10, 2021

as ahmadbintariq4u wrote: Use Scenebuilder 15 instead:

https://gluonhq.com/products/scene-builder/thanks/?dl=https://download2.gluonhq.com/scenebuilder/15.0.0/install/windows/SceneBuilder-15.0.0.msi

I'm cannot open JFXTextFields in Scenebuilder 15 either. The jdk I have installed is jdk 11.0.11. Is there an even earlier version I can download? I tried changing 15 to 14 in the url, but the download doesn't start.

@CTaszus
Copy link

CTaszus commented Aug 10, 2021

Do you use jfoenix 9.0.10 in scene builder?

@PranavBhatia
Copy link

Where can I download the previous versions of Scene Builder from? I can't find it, please help!!

@CTaszus
Copy link

CTaszus commented Sep 30, 2021

@CTaszus
Copy link

CTaszus commented Sep 30, 2021

as ahmadbintariq4u wrote: Use Scenebuilder 15 instead:
https://gluonhq.com/products/scene-builder/thanks/?dl=https://download2.gluonhq.com/scenebuilder/15.0.0/install/windows/SceneBuilder-15.0.0.msi

I'm cannot open JFXTextFields in Scenebuilder 15 either. The jdk I have installed is jdk 11.0.11. Is there an even earlier version I can download? I tried changing 15 to 14 in the url, but the download doesn't start.

The JFXComponents work for me in SB15. Maybe try a fresh environment?

@Zackozz
Copy link

Zackozz commented Oct 3, 2021

@CTaszus Hello , i have SB17 and jfoenix-9.0.10 and Jtextfield dont work for me as well , so i decide to use SB15 like you, but when i install SB15 i canno't open Scene builder even with " run as admin " , like there is nothing no error but it does not open. any solution ?

@ahmeedev
Copy link

ahmeedev commented Oct 3, 2021

@CTaszus Hello , i have SB17 and jfoenix-9.0.10 and Jtextfield dont work for me as well , so i decide to use SB15 like you, but when i install SB15 i canno't open Scene builder even with " run as admin " , like there is nothing no error but it does not open. any solution ?

Restart you pc

@Zackozz
Copy link

Zackozz commented Oct 3, 2021

@CTaszus I've already did it , nothing happened

@ahmeedev
Copy link

ahmeedev commented Oct 3, 2021

@CTaszus I've already did it , nothing happened

Start the scene builder from window panel not from your file.. if your .fxml file contains error then scene builder doesn't open. Or from the editor fix the problems from the file and then try to fire scene builder.

@ahmeedev
Copy link

ahmeedev commented Oct 3, 2021

@CTaszus I've already did it , nothing happened

https://youtu.be/IyVFcr9WqMg

This is the project i made in javafx. (Motivation for you)

@CTaszus
Copy link

CTaszus commented Oct 3, 2021

@CTaszus Hello , i have SB17 and jfoenix-9.0.10 and Jtextfield dont work for me as well , so i decide to use SB15 like you, but when i install SB15 i canno't open Scene builder even with " run as admin " , like there is nothing no error but it does not open. any solution ?

Do you added JFX to your SB libs?
What Java Version do you have?

@CTaszus
Copy link

CTaszus commented Oct 3, 2021

@CTaszus I've already did it , nothing happened

https://youtu.be/IyVFcr9WqMg

This is the project i made in javafx. (Motivation for you)

Nice project, looks great. What kind of Snackbar do you use? (Stacked Boxes top right to top bottom right)

@ahmeedev
Copy link

ahmeedev commented Oct 3, 2021

@CTaszus I've already did it , nothing happened

https://youtu.be/IyVFcr9WqMg

This is the project i made in javafx. (Motivation for you)

Nice project, looks great. What kind of Snackbar do you use? (Stacked Boxes top right to top bottom right)

Bootstrap

cbeams added a commit to cbeams/bisq that referenced this issue Nov 16, 2021
Problem: Prior to this commit, it was not possible to build or run the
desktop app on Apple's M1 (macos aarch64) architecture.

Solution: This commit makes all the changes necessary to successfully
build and run on M1, but some of these changes require depending on
snapshots and forks of certain dependencies, so this commit shouldn't be
merged to master until those fixes are officially released. The changes
made here include:

1. Upgrading from JavaFX 16 to JavaFX 17. JavaFX 17 was the first
   release to support aarch64 binaries, and so it's required.

2. Upgrading to a version of the openjfx-gradle-plugin that contains the
   fix at openjfx/javafx-gradle-plugin#113 to download the correct
   aarch64-classified JavaFX 17 jars. NOTE: at the time of this commit,
   the fix has not been released, so we are now depending on a
   locally-built SNAPSHOT resolved from `mavenLocal()`.

3. Upgrading to a version of the JFoenix library that includes a fix for
   the bug documented at sshahine/JFoenix#1187. At the time of this
   commit, this fix has only been publihed in the 'rationalityfrontline'
   fork of JFoenix, and so we've temporarily updated our dependency to
   point to that artifact. It appears that a new version of JFoenix is
   being developed that will contain this fix, but it hasn't shipped
   yet.

Notes:

 - Gradle dependency verification metadata has been updated to reflect
   the changes mentioned above, but will need further updates to capture
   the Linux, Windows and MacOS Intel variants of the JavaFX 17
   binaries.

 - Building and testing has been verified to work on JDKs 11 through 17;

 - Running the desktop app only works on JDKs 11 through 15, however,
   until sshahine/JFoenix#1205 is fixed. Right now, attempting to run on
   JDK 16+ will result in a 'Cannot invoke
   "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null'
   error. See the above mentioned issue for details.

 - It was necessary to bump the minimum supported source compatibility
   in the Gradle build from Java 10 to Java 11 in order to be able to
   consume the upgraded JFoenix artifact.
cbeams added a commit to cbeams/bisq that referenced this issue Nov 18, 2021
Problem: Prior to this commit, it was not possible to build or run the
desktop app on Apple's M1 (macos aarch64) architecture.

Solution: This commit makes all the changes necessary to successfully
build and run on M1, but some of these changes require depending on
snapshots and forks of certain dependencies, so this commit shouldn't be
merged to master until those fixes are officially released. The changes
made here include:

1. Upgrading from JavaFX 16 to JavaFX 17. JavaFX 17 was the first
   release to support aarch64 binaries, and so it's required.

2. Upgrading to a version of the openjfx-gradle-plugin that contains the
   fix at openjfx/javafx-gradle-plugin#113 to download the correct
   aarch64-classified JavaFX 17 jars. NOTE: at the time of this commit,
   the fix has not been released, so we are now depending on a
   locally-built SNAPSHOT resolved from `mavenLocal()`.

3. Upgrading to a version of the JFoenix library that includes a fix for
   the bug documented at sshahine/JFoenix#1187. At the time of this
   commit, this fix has only been publihed in the 'rationalityfrontline'
   fork of JFoenix, and so we've temporarily updated our dependency to
   point to that artifact. It appears that a new version of JFoenix is
   being developed that will contain this fix, but it hasn't shipped
   yet.

Notes:

 - Gradle dependency verification metadata has been updated to reflect
   the changes mentioned above, but will need further updates to capture
   the Linux, Windows and MacOS Intel variants of the JavaFX 17
   binaries.

 - Building and testing has been verified to work on JDKs 11 through 17;

 - Running the desktop app only works on JDKs 11 through 15, however,
   until sshahine/JFoenix#1205 is fixed. Right now, attempting to run on
   JDK 16+ will result in a 'Cannot invoke
   "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null'
   error. See the above mentioned issue for details.

 - It was necessary to bump the minimum supported source compatibility
   in the Gradle build from Java 10 to Java 11 in order to be able to
   consume the upgraded JFoenix artifact.
@crackplatoonbd
Copy link

i got the same problem and need help please

`java.lang.reflect.InaccessibleObjectException: Unable to make boolean java.lang.reflect.AccessibleObject.setAccessible0(boolean) accessible: module java.base does not "opens java.lang.reflect" to unnamed module @56cca052 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) at com.jfoenix.adapters.ReflectionHelper.(ReflectionHelper.java:48) at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:59) at com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9456) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569) at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2474) at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:414) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:413) at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:440) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:564) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:544) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:537) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:343) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:831) java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Field.get(Object)" because "field" is null at com.jfoenix.skins.JFXTextFieldSkin.createPromptNode(JFXTextFieldSkin.java:152) at com.jfoenix.skins.JFXTextFieldSkin.lambda$new$1(JFXTextFieldSkin.java:70) at com.jfoenix.skins.PromptLinesWrapper.init(PromptLinesWrapper.java:123) at com.jfoenix.skins.JFXTextFieldSkin.(JFXTextFieldSkin.java:70) at com.jfoenix.controls.JFXTextField.createDefaultSkin(JFXTextField.java:69) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Parent.doProcessCSS(Parent.java:1400) at javafx.graphics/javafx.scene.Parent$1.doProcessCSS(Parent.java:125) at javafx.graphics/com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9456) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449) at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:569) at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2474) at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:414) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:413) at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:440) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:564) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:544) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:537) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:343) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:831)

java.lang.NullPointerException: Cannot invoke "javafx.scene.Node.getLayoutBounds()" because "this.textNode" is null at com.jfoenix.skins.JFXTextFieldSkin.updateTextPos (JFXTextFieldSkin.java:109) at com.jfoenix.skins.JFXTextFieldSkin.layoutChildren (JFXTextFieldSkin.java:93) at javafx.scene.control.Control.layoutChildren (Control.java:601) at javafx.scene.Parent.layout (Parent.java:1207) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Parent.layout (Parent.java:1214) at javafx.scene.Scene.doLayoutPass (Scene.java:576) at javafx.scene.Scene$ScenePulseListener.pulse (Scene.java:2479) at com.sun.javafx.tk.Toolkit.lambda$runPulse$2 (Toolkit.java:414) at java.security.AccessController.doPrivileged (AccessController.java:391) at com.sun.javafx.tk.Toolkit.runPulse (Toolkit.java:413) at com.sun.javafx.tk.Toolkit.firePulse (Toolkit.java:440) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse (QuantumToolkit.java:564) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse (QuantumToolkit.java:544) at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue (QuantumToolkit.java:537) at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11 (QuantumToolkit.java:343) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run (InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop (Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3 (WinApplication.java:174) at java.lang.Thread.run (Thread.java:831)`

did anyone get solve for this ?
(Jdk 17)

@CTaszus
Copy link

CTaszus commented Feb 1, 2022

Try launching your app with the following JVM Parameter:
*edit, bad module name:

--add-opens=java.base/java.lang.reflect=ALL-UNNAMED

@Aspyryan
Copy link

A bummer the devs gave up on this project

@ahmeedev
Copy link

A bummer the devs gave up on this project

https://youtu.be/IyVFcr9WqMg

for the motivation

@FelipeAumannRS
Copy link

Try launching your app with the following JVM Parameter: *edit, bad module name:

--add-opens=java.base/java.lang.reflect=ALL-UNNAMED

Great fix!! Thanks!

@Soheilmohammadbeigi
Copy link

Soheilmohammadbeigi commented May 4, 2022

not opening scene builder and not opening scene builder from intellij idea
not added jfoenix library
all fix for me with install scene builder ver 8.5.0 although i use a higher version of Java.
my lib versions:
scene builder 8.5.0
jfoenix 9.0.10
jdk 11.0.5
don't forget to give gfoenix to both the Intellij and the scene builder

@gabrielpaim
Copy link

Try launching your app with the following JVM Parameter: *edit, bad module name:

--add-opens=java.base/java.lang.reflect=ALL-UNNAMED

That worked for me, thanks @CTaszus !

That was the only mention not related to SceneBuilder. I'm using TornadoFX for my project, and I do not even use SceneBuilder, but the issue still occur. I'm using jdk17 with jfoenix 9.0.10.

@CTaszus
Copy link

CTaszus commented Nov 19, 2022

JFoenix has an issue with javas module system.

First thing to try when scenebuilder does not work is:

  1. Search your SceneBuilder.cfg ($home/AppData/Local/Scenebuilder19/app/SceneBuilder.cfg)
  2. Add (at least some of the follwing) JVM-Parameter:

[JavaOptions]
java-options=--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED
java-options=--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
java-options=--add-opens=java.base/java.util=ALL-UNNAMED
java-options=--add-opens=java.base/java.text=ALL-UNNAMED
java-options=--add-opens=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED
java-options=--add-opens=javafx.base/com.sun.javafx.beans=ALL-UNNAMED
java-options=--add-opens=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED
java-options=--add-opens=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED
java-options=--add-opens=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED
java-options=--add-opens=javafx.graphics/com.sun.javafx.font=ALL-UNNAMED
java-options=--add-opens=java.desktop/java.awt.font=ALL-UNNAMED

@Dosibo-dot
Copy link

I used jfoenix 9.0.1 in the dependency on intellij and same exact version in scene builder and it worked for me.

@mayurrpatell
Copy link

How can I get older versions of Scene Builder ?
Gluon website only has 21.0.0 and 8.5.0
https://gluonhq.com/products/scene-builder/

@ctoabidmaqbool1
Copy link

@mayurrpatell
all development is going on github, so you can download previous release here:
https://github.com/gluonhq/scenebuilder/releases
you have to move to other pages for old version!

@mayurrpatell
Copy link

@ctoabidmaqbool1 These github releases do not have binaries in them. They again redirect to Gluon website.

@CTaszus
Copy link

CTaszus commented Apr 2, 2024

I am working with SceneBuilder 19.0.0 / Open JDK 17 /JFoenix 9.0.10 fine. Only 2 important things:

  1. Due to module system, I had to add some JVM options in SceneBuilder.cfg:
    [JavaOptions] java-options=-Djpackage.app-version=19.0.0 java-options=--add-exports=javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED java-options=--add-exports=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED java-options=--add-exports=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED java-options=--add-exports=javafx.base/com.sun.javafx.binding=ALL-UNNAMED java-options=--add-exports=javafx.base/com.sun.javafx.event=ALL-UNNAMED java-options=--add-exports=javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED java-options=--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED java-options=--add-opens=java.base/java.lang.reflect=ALL-UNNAMED java-options=--add-opens=java.base/java.util=ALL-UNNAMED java-options=--add-opens=java.base/java.text=ALL-UNNAMED java-options=--add-opens=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED java-options=--add-opens=javafx.base/com.sun.javafx.beans=ALL-UNNAMED java-options=--add-opens=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED java-options=--add-opens=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED java-options=--add-opens=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED java-options=--add-opens=javafx.graphics/com.sun.javafx.font=ALL-UNNAMED java-options=--add-opens=java.desktop/java.awt.font=ALL-UNNAMED java-options=--add-opens=javafx.fxml/javafx.fxml=ALL-UNNAMED java-options=-Djava.library.path=runtime\bin;runtime\lib java-options=--add-opens=java.base/java.lang.reflect=ALL-UNNAMED java-options=-Djavafx.version=null

Notice: There should be linebreaks before the java-options.

  1. I have to open SceneBuilder and start a new empty project before opening existing JFXMLs from eclipse. Dunno why :(

EDIT: Of course, you have to add jfoenix to scenebuilder using the JAR/FXML Manager inside scenebuilder

Hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests