siegy22
siegy22

Reputation: 4413

Controls FX TraversalEngine Error

I installed JDK8u20 and tried to run my program with the ControlsFX library in it.

This should work fine, but if I call a method from controlsFX, I get the following exception

Method

 private void showError(final String msg) {
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                Dialogs.create().title("Achtung").message(msg).showError();
            }
        });
    }

Exception

java.lang.NoSuchMethodError: com.sun.javafx.scene.traversal.TraversalEngine.<init>(Ljavafx/scene/Parent;Z)V
    at org.controlsfx.control.ButtonBar$2.<init>(ButtonBar.java:412)
    at org.controlsfx.control.ButtonBar.<init>(ButtonBar.java:412)
    at org.controlsfx.control.ButtonBar.<init>(ButtonBar.java:355)
    at org.controlsfx.dialog.Dialog.createButtonPanel(Dialog.java:1034)
    at org.controlsfx.dialog.Dialog.createCenterPanel(Dialog.java:1029)
    at org.controlsfx.dialog.Dialog.buildDialogContent(Dialog.java:950)
    at org.controlsfx.dialog.Dialog.show(Dialog.java:320)
    at org.controlsfx.dialog.Dialogs.showSimpleContentDialog(Dialogs.java:1106)
    at org.controlsfx.dialog.Dialogs.showError(Dialogs.java:555)
    at ch.berufsbildungscenter.notiztool.gui.control.LoginController$3.run(LoginController.java:93)
    at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$$Lambda$48/1171794308.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown Source)
    at com.sun.javafx.application.PlatformImpl$$Lambda$47/1875594551.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source)
    at com.sun.glass.ui.win.WinApplication$$Lambda$38/994750745.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Upvotes: 2

Views: 1451

Answers (1)

ItachiUchiha
ItachiUchiha

Reputation: 36742

Adding an answer for someone facing the same issue in future :

ControlsFX 8.0.6 was released in two separate releases

  • ControlsFX 8.0.6, for developers using JavaFX 8.0
  • ControlsFX 8.0.6_20, for developers building with JavaFX 8u20

If you are wondering why ? here is an explanation to it

If you are using JDK8, go with ControlsFX 8.0.6

If you are using JDK8_20 or later, go with ControlsFX 8.0.6_20

Upvotes: 5

Related Questions