dlsc-software-consulting-gmbh / GemsFX

A collection of JavaFX controls and utilities.
Apache License 2.0
482 stars 55 forks source link

Error while trying to use KeyboardPane #62

Closed Conrad6 closed 1 year ago

Conrad6 commented 1 year ago

Error while trying to use KeyboardPane

I keep receiving this exceptions thrown while trying to use the KeyboardPane control

Exception in thread "JavaFX Application Thread" java.lang.AbstractMethodError: Receiver class org.kordamp.ikonli.materialdesign.MaterialDesignIkonHandler does not define or inherit an implementation of the resolved method abstract getFontResource()Ljava/net/URL; of interface org.kordamp.ikonli.IkonHandler.
    at org.kordamp.ikonli.javafx.IkonResolver.<clinit>(IkonResolver.java:45)
    at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:76)
    at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360)
    at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80)
    at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:106)
    at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:113)
    at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:147)
    at javafx.css.StyleableObjectProperty.set(StyleableObjectProperty.java:82)
    at org.kordamp.ikonli.javafx.FontIcon.setIconCode(FontIcon.java:231)
    at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:97)
    at com.dlsc.gemsfx.keyboard.KeyboardView.lambda$new$1(KeyboardView.java:64)
    at com.dlsc.gemsfx.skins.SpecialKeyView.<init>(SpecialKeyView.java:31)
    at com.dlsc.gemsfx.skins.KeyboardViewSkin.buildView(KeyboardViewSkin.java:156)
    at com.dlsc.gemsfx.skins.KeyboardViewSkin.<init>(KeyboardViewSkin.java:36)
    at com.dlsc.gemsfx.keyboard.KeyboardView.createDefaultSkin(KeyboardView.java:125)
    at javafx.scene.control.Control.doProcessCSS(Control.java:897)
    at javafx.scene.control.Control.access$000(Control.java:83)
    at javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
    at com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
    at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
    at javafx.scene.Parent.doProcessCSS(Parent.java:1397)
    at javafx.scene.Parent.access$400(Parent.java:79)
    at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
    at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
    at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
    at javafx.scene.Parent.doProcessCSS(Parent.java:1397)
    at javafx.scene.Parent.access$400(Parent.java:79)
    at javafx.scene.Parent$1.doProcessCSS(Parent.java:125)
    at com.sun.javafx.scene.ParentHelper.processCSSImpl(ParentHelper.java:98)
    at com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145)
    at javafx.scene.Node.processCSS(Node.java:9529)
    at javafx.scene.Node.applyCss(Node.java:9616)
    at javafx.scene.control.HeavyweightDialog.positionStage(HeavyweightDialog.java:278)
    at javafx.scene.control.HeavyweightDialog.access$000(HeavyweightDialog.java:44)
    at javafx.scene.control.HeavyweightDialog$1.centerOnScreen(HeavyweightDialog.java:56)
    at javafx.scene.control.HeavyweightDialog.showAndWait(HeavyweightDialog.java:161)
    at javafx.scene.control.Dialog.showAndWait(Dialog.java:345)
    at org.controlsfx.dialog.Wizard.showAndWait(Wizard.java:243)
    at ca.qbb.qbox.app.controller.Cart.checkout.CheckoutController.showWizard(CheckoutController.java:46)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run$$$capture(InvokeLaterDispatcher.java:96)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java)
    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.base/java.lang.Thread.run(Thread.java:834)

I also have the following as pom.xml

...
<!--JavaFX/UI dependencies-->
        <dependency>
            <groupId>org.kordamp.ikonli</groupId>
            <artifactId>ikonli-javafx</artifactId>
            <version>${ikonli.version}</version>
        </dependency>
        <dependency>
            <groupId>org.kordamp.ikonli</groupId>
            <artifactId>ikonli-fontawesome5-pack</artifactId>
            <version>${ikonli.version}</version>
        </dependency>
        <dependency>
            <groupId>org.kordamp.ikonli</groupId>
            <artifactId>ikonli-materialdesign-pack</artifactId>
            <version>${ikonli.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-base</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>com.dlsc.gemsfx</groupId>
            <artifactId>gemsfx</artifactId>
            <version>8.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>com.jfoenix</groupId>
            <artifactId>jfoenix</artifactId>
            <version>9.0.10</version>
        </dependency>
        <dependency>
            <groupId>org.controlsfx</groupId>
            <artifactId>controlsfx</artifactId>
            <version>11.1.2</version>
        </dependency>
        <dependency>
            <groupId>de.jensd</groupId>
            <artifactId>fontawesomefx-fontawesome</artifactId>
            <version>4.7.0-9.1.2</version>
        </dependency>
        <dependency>
            <groupId>de.jensd</groupId>
            <artifactId>fontawesomefx-materialdesignfont</artifactId>
            <version>2.0.26-9.1.2</version>
        </dependency>
        <dependency>
            <groupId>de.jensd</groupId>
            <artifactId>fontawesomefx-octicons</artifactId>
            <version>4.3.0-9.1.2</version>
        </dependency>
...

I'm using JDK 11. I'm not sure which dependency I'm missing.

dlemmermann commented 1 year ago

The keyboard stuff has been moved to its own separate project called KeyboardFX. Please switch to that one first and let me know if it solves the issue.

dlemmermann commented 1 year ago

Closing this ticket now as it is in the wrong project.

Conrad6 commented 1 year ago

The keyboard stuff has been moved to its own separate project called KeyboardFX. Please switch to that one first and let me know if it solves the issue.

Thank you very much sir. You've saved me a lot of headaches🥹. 🎊🎊🎊🎊