Giter Site home page Giter Site logo

gemsfx's People

Contributors

chaillanyoan avatar cpreisler avatar dependabot[bot] avatar dlemmermann avatar floriankirmaier avatar github-actions[bot] avatar gldiazcardenas avatar grigala avatar joehei avatar koppor avatar leewyatt avatar lorenzpahl avatar michael-simons avatar primosk avatar sebkur avatar trixon avatar valnaumov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gemsfx's Issues

SearchField - commit gets called 3 times when an item is selected

I'm beginning to use the search field overriding the commit method to know when to trigger some action, and I was surprised to see the commit method being called 3 times everytime a change occurs.

After some debugging, here are the different places calling the commit method:

	at com.dlsc.gemsfx.SearchField.select(SearchField.java:400)
	at com.dlsc.gemsfx.skins.SearchFieldPopupSkin.selectItem(SearchFieldPopupSkin.java:122)
	at com.dlsc.gemsfx.skins.SearchFieldPopupSkin.lambda$registerEventListener$3(SearchFieldPopupSkin.java:101)
	at com.dlsc.gemsfx.skins.SearchFieldPopupSkin.selectItem(SearchFieldPopupSkin.java:123)
	at com.dlsc.gemsfx.skins.SearchFieldPopupSkin.lambda$registerEventListener$3(SearchFieldPopupSkin.java:101)
	at com.dlsc.gemsfx.SearchField.lambda$new$1(SearchField.java:93)

I only included the stack elements from gemfx, if more stack trace is needed I can provide more.

The first point I saw is that SearchFieldPopupSkin.selectItem calls commit and calls SearchField.select which also calls commit, so I guess the one in the SearchFieldPopupSkin could be removed safely.

For the last one it doesn't seem as obvious, I guess one comes from the hit of the enter key and the other one is triggered by the selection.

error installing the maven project

Hello,

I was trying to install GemsFX upon recommendation of Florian Kirmaier, who I guess is one of the developers of JPro framework. According to him, I should be able to use GemsFX dialogs in JavaFX UI inside web pages. I got this error:

Failed to collect dependencies at com.dlsc.gemsfx:gemsfx:jar:1.29.2 -> com.dlsc.unitfx:unitfx:jar:1.0.8: Failed to read artifact descriptor for com.dlsc.unitfx:unitfx:jar:1.0.8: Could not transfer artifact com.dlsc.unitfx:parent:pom:1.0.8 from/to bintray-dlsc-oss-repository (https://dl.bintray.com/dlsc-oss/repository): Authorization failed for https://dl.bintray.com/dlsc-oss/repository/com/dlsc/unitfx/parent/1.0.8/parent-1.0.8.pom 403 Forbidden -> [Help 1]

Could you please advice how to work around this problem?

Thanks!
Alexey Zaitsev

GlassPane is missing styling.

Without any styling / css attached to it the glasspane will always be transparent. It should be black with a low opacity.

Popup of SearchField Suggestions Overlaps Input Field When Not Enough Space Below

The SearchField component successfully displays suggestion popups at the correct position when near the left or right edges of the window, ensuring the popup is not obscured. However, when there's insufficient space at the bottom, the popup overlaps with the SearchField input box, obstructing the view of the text being typed by the user.
image

TimePicker and SceneBuilder

Hello and thanks for great library!

Is it possible to use a TimePicker with SceneBuilder? I tried and SceneBuilder doesn't allow timepicker dragging on the form. It can be added by editing .fxml though and it works but again scene builder won't open .fxml with timepicker.

PDFBox decoupling

Hi Dirk,

I would like to discuss/propose a change related to PDFView/PDFViewSkin component.

Right now PDVViewSkin is tightly coupled with PDFBox library.

There are few drawbacks with that:

  • a low level PDF related logic is present in PDFViewSkin class
  • there is no way to use some other PDF parsing/rendering library

I can submit a PR that would decouple that and actually make it possible for users to provide any other PDF parser (or actually any library that is capable of producing page images).

The functionality and public API of PDFView would remain unchanged - except the method:
PDFView.load(Supplier<PDDocument> supplier)
which would be replaced with
PDFView.load(Supplier<Document> supplier)
... where Document is interface that looks something like (not yet established) this;

    public interface Document {

        BufferedImage renderPage(int pageNumber, float scale);

        List<PDFView.SearchResult> getSearchResults(String searchText);

        int getNumberOfPages();

        boolean isLandscape(int pageNumber);

        void close();
      
    }

By default the Document implementation based on PDFBox will be used.

Side note:
If you are not sure whether that's good idea I can provide you with PR first. After that you might got a better overview of it and then decide.

Java 11 compatibility

Hi everyone.

At first I would like to give you all a big kudos for your hard work in the JavaFX ecosystem. I couldn't find any other channel to communicate this so I decided to open a new "issue" despite it might not be (strictly speaking).

I am especially interested into PDFView component as it seems that there is no alternative in the JavaFX world that could be used (especially if one wants to avoid Swing integration).

My questions are as follows:

  • Was there any special reason for this library to require JDK 12?
  • Are there any plans to make this library compatible with JDK 11 (which is at the moment of writing this the latest LTS version)?

If I am not mistaken GemsFX requires JDK 12 because of UnitFx library (which also requires JDK 12). Given the fact that the latest JavaFX (14) requires at least JDK 11 it would be great if requirements for these two libraries would also be lowered to the same version.

Side note:
I've changed the source and target in both GemsFX and UnitFx to JDK 11 locally. Compilation went smooth. I've also tested out PDFView demo application and everything seems to work fine.

SearchField list view CSS not changes

There is a issue with editing search field css list view
I tried the same as was in the demo example

.search-field-list-view > .virtual-flow > .clipped-container > .sheet > .list-cell {
-fx-padding: 4 0 4 5;
-fx-cell-size: 35;
/* No alternate highlighting */
-fx-background: -fx-control-inner-background;
}

nothing changes i tried everything

Application not building when including GemsFX as a dependency

I've included the following in my application's build.gradle file:

implementation group: 'com.dlsc.gemsfx', name: 'gemsfx', version: '1.72.0'

When building my application with the above dependency, the following error is generated:

Could not find one.jpro.jproutils:tree-showing:0.2.2

Any insight you can provide into how this can be resolved would be greatly appreciated.

Many thanks for all the great work you've done.

Brian

Duration Picker - Localization.

Would it be possible to have the short and long label texts in resource files? People use our software in other languages than en. We can do the actual translations ourselves as long as the component is able to pick them up from resource-files.

Unable to find StripView control

I can clearly see the code for StripView in gemsfx on GitHub, but I can't find it in the code???

  • On GitHub
    image

  • Dependency
    image

  • In code
    image

Am I using the wrong version??

Year Selection view - apply to YearPicker/YearMonthPicker/DatePicker

Introduce a selection view where user can easily select any year with few clicks/scroll.

Apply the new view to:

  • YearPicker (new control): New feature.
  • YearMonthPicker (enhancement): If the user clicks on the year label, then switch to year selection view.
  • DatePicker (enhancement): If the user clicks on the year, then switch to year selection view, then later switch to month selection view, then let him select the day.

Issue with CalendarPicker Crashing Without Initial Value Set

We've encountered an issue with the CalendarPicker component where it becomes unresponsive and crashes if no initial value is set. Specifically, users are unable to open the date selection interface by clicking on the calendar icon. This behavior leads to the CalendarPicker component crashing, and, notably, the issue persists even after manually entering a correct date; the date selection interface remains inaccessible.
image

Missing icons

Hello,

I am currently adding the pdfviewer to my app that I made in netbeans. The problem is that i get a bunch of errors when I run the app that I've made using maven with the shaded plugin.

Here are the errors:
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'mdi-fullscreen' Oct 15 12:56:04 raspberrypi run.sh[9867]: at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62) Oct 15 12:56:04 raspberrypi run.sh[9867]: at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94) Oct 15 12:56:04 raspberrypi run.sh[9867]: at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360)

And...

Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'mdi-chevron-left' Oct 15 12:56:04 raspberrypi run.sh[9867]: at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62) Oct 15 12:56:04 raspberrypi run.sh[9867]: at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94) Oct 15 12:56:04 raspberrypi run.sh[9867]: at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:360) Oct 15 12:56:04 raspberrypi run.sh[9867]: at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:80) Oct 15 12:56:04 raspberrypi run.sh[9867]: at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:106)

Guess the errors are from loading the icons.

This is my pom.xml file (attached)

pom.zip

And I run the project with java -Djdk.gtk.version=2 -Dcom.sun.javafx.virtualKeyboard="javafx" -jar shaded.jar --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml
I can open the file with no problems, only the missing icons but they function correctly.

Can you please help me?

InfoCenterView configuration in the wiki

It would be great if the InfoCenterView's configuration was added to the wiki. I'm learning how to do it through trial and error, but would be awesome.
Excellent library, btw!

Enhance User Experience by Adding an Email Icon to EmailField Component

Description

Currently, the EmailField presents itself as a standard text input field. However, this design may not be immediately intuitive for all users, especially in contexts where the field's purpose is not explicitly stated. Users might take additional time to realize that they are required to enter an email address in this field.

Suggested Enhancement

To make the EmailField more user-friendly and intuitive, I propose adding an email icon to the left side of the text input field. This visual cue can instantly communicate the field's intended use without relying on additional textual explanations.

image

image

new features ?

Good morning, sir,
I am using your visual keyboard for an application that is intended to be used on an interactive 4k screen.
The text on the keys is very small.
Is there a feature that will automatically resize the text size?

GemsFX 1.29.1 - SearchTextField //missing export in module-info

Hello :)
When using the SearchTextFIeld i get the message "module com.dlsc.gemsfx does not export com.dlsc.gemsfx.skins to module javafx.fxml". I saw that this has been fixed in newer releases, but i dont want to upgrade from JDK 11.
Is it possible/planned to fix this?
Thanks in advance

PeriodPicker analog to the other pickers

Would be great to have a period picker dealing with Years, Months and Days based on the Period class, working in a similar ways as the Duration Picker works. Should be straight forward. (could try it myself ... if your time is limited)

Phone Number Field

Goal: Build a nice input field to enter international phone numbers.
Requirements:

  • Provide country code selection by typing the country name.
  • Use masking technique to make explicit reference of the phone number format, so users have an idea of what's expected input.

References:

Error while trying to use KeyboardPane

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.

Issue with CSS file path in getUserAgentStylesheet method

Description

When utilizing the getUserAgentStylesheet method from the TreeNodeCell class in other projects, it fails to locate the "tree-view.css" file, resulting in an error. Here is the problematic snippet:

@Override
public String getUserAgentStylesheet() {
    return getClass.getResource("tree-view.css").toExternalForm();
}

The issue can be resolved by updating the method to:

@Override
public String getUserAgentStylesheet() {
    return TreeNodeCell.class.getResource("tree-view.css").toExternalForm();
}

Developer guide

Hi, all this look quite nice, so I wanted to try things out on my own machine. However I am a bit stuck here.

I'm missing an introduction on how to get things started if you're not familiar with similar projects yet.

Grepping through the project I figured out that there are 6 entry points with apps that are launchable:

KeyboardDarkApp.java
RichTextAreaApp.java
DrawerApp.java
KeyboardApp.java
EmailFieldApp.java
FilterViewApp.java

Is there a simple way for running any of these classes that contain a public static void main(String[]) method without starting an IDE, just using Maven? If there is it would be super helpful to list that as an example in the readme file.

Other than that, I'm totally willing to launch an IDE for testing things if Maven does not offer a simple way to run the demos. It would be very helpful if you listed the setup you know is working (that is, your own setup). Which IDE can I use, what do I have to do to start hacking on the project?

I assume Eclipse will do, but I have no idea what to do make things work there. I tried mvn eclipse:eclipse and imported the two projects gemsfx and gemsfx-demo into a workspace (using an OpenJDK 11). Seems like all the imports starting with javafx.* cannot be resolved. Is there an additional Maven task to fix this maybe? Sure I can try to figure things out using Google but let's make things easy for newbies :)

If you're not using Eclipse or not aware of how to make things work there, don't worry that's fine. I'm also willing to download a different IDE to try things. Just sharing any development setup that is known to work and reproducible steps on how to get things started would be very appreciated! Thanks a lot

MVN Repository lists Version 1.29.2 already

which causes: Failed to collect dependencies at com.dlsc.gemsfx:gemsfx:jar:1.29.2 -> com.dlsc.unitfx:unitfx:jar:1.0.8:

Maybe the wrong place to report then just delete the issue.

Having problems with jproutils

I copied the short implementation for gradle in maven, but when I tried to build I had this error message,

Execution failed for task ':compileJava'.

Could not resolve all files for configuration ':compileClasspath'.
Could not find one.jpro.jproutils:tree-showing:0.2.2.
Searched in the following locations:
- https://repo.maven.apache.org/maven2/one/jpro/jproutils/tree-showing/0.2.2/tree-showing-0.2.2.pom
If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
Required by:
project : > com.dlsc.gemsfx:gemsfx:1.76.0

Add event which gets fired when the SearchField has commited

It would be helpful to be able to know when the user has selected a search suggestion when a SearchField's commit has been called. It is currently not possible to react to this by listening to when the enter key has been released, because the event is being consumed.

FilterView - CSS Selector for Search-Text-Field

Hi there,

i cant select/access the search-text-field from the FilterView via css.

i tried:
`.filter-view .search-field {
-fx-background-color: red;
}

.search-field {
-fx-background-color: red;
}

.search-text-field {
-fx-background-color: red;
}`

have seen the first two in one of your commits 3 months ago and gave them a shot after .search-text-field didnt work in case you are wondering why i brought them up.

I have also seen that there is an CSS Selector for an item-count label
.filter-view .filters .item-count-label {
-fx-font-size: 14px;
}

But i havent found the feature (neither in the demo nor in my implementation).

SearchTextField in Jar - Icons missing

Hi there,
when i package my JavaFX application via:

<plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass> .Main </mainClass> </manifest> <manifestEntries> <Multi-Release>true</Multi-Release> </manifestEntries> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin>

and use it via java -jar then the jar doenst contain the "search" and "trash" icon.
I also get the error:
Cannot resolve mdi-magnify which is the search icon.

log4j-slf4j-impl version stopped by my enforcer plugin

When I updated my dependency from 1.67.0 to 1.71.0 I could not build my project with an active enforcer to avoid log4shell.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.2.1:enforce (ban-bad-log4j-versions) on project mapton-api: 
[ERROR] Rule 0: org.apache.maven.enforcer.rules.dependency.BannedDependencies failed with message:
[ERROR] org.mapton:mapton-api:nbm:3.1.0-SNAPSHOT
[ERROR]    com.dlsc.gemsfx:gemsfx:jar:1.71.0
[ERROR]       org.apache.logging.log4j:log4j-slf4j-impl:jar:2.14.1
[ERROR]

Are there any reason for using 2.14.1?

Problem launching DrawerApp

When I run the DrawerApp like this:

mvn javafx:run -f gemsfx-demo/pom.xml -Dmain.class=com.dlsc.gemsfx.demo.DrawerApp

I get lots of errors after clicking the "Show Drawer" button.

Output repeats the following error message:

java.lang.NoSuchMethodError: 'void com.sun.prism.Graphics.setPerspectiveTransform(com.sun.javafx.geom.transform.GeneralTransform3D)'
    at javafx.web/com.sun.javafx.webkit.prism.WCGraphicsPrismContext$ContextState.apply(WCGraphicsPrismContext.java:1224)
    at javafx.web/com.sun.javafx.webkit.prism.WCGraphicsPrismContext.getGraphics(WCGraphicsPrismContext.java:136)
    at javafx.web/com.sun.javafx.webkit.prism.WCGraphicsPrismContext.getPlatformGraphics(WCGraphicsPrismContext.java:126)
    at javafx.web/com.sun.javafx.webkit.prism.WCPageBackBufferImpl.flush(WCPageBackBufferImpl.java:71)
    at javafx.web/com.sun.webkit.WebPage.paint(WebPage.java:708)
    at javafx.web/com.sun.javafx.sg.prism.web.NGWebView.renderContent(NGWebView.java:95)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2072)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1964)
    at javafx.graphics/com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:270)
    at javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:578)
    at javafx.graphics/com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:237)
    at javafx.graphics/com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:131)
    at javafx.graphics/com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:185)
    at javafx.graphics/com.sun.scenario.effect.Offset.filter(Offset.java:160)
    at javafx.graphics/com.sun.scenario.effect.Merge.filter(Merge.java:148)
    at javafx.graphics/com.sun.scenario.effect.DelegateEffect.filter(DelegateEffect.java:70)
    at javafx.graphics/com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:166)
    at javafx.graphics/com.sun.javafx.sg.prism.EffectFilter.render(EffectFilter.java:61)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:2384)
    at javafx.graphics/com.sun.javafx.sg.prism.CacheFilter.renderNodeToCache(CacheFilter.java:685)
    at javafx.graphics/com.sun.javafx.sg.prism.CacheFilter.render(CacheFilter.java:587)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.renderCached(NGNode.java:2377)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2063)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1964)
    at javafx.graphics/com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:270)
    at javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:578)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2072)
    at javafx.graphics/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1964)
    at javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:479)
    at javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:328)
    at javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
    at java.base/java.lang.Thread.run(Thread.java:834)

Any ideas?

Duration Picker - RFE - Wrapping in the popup.

Is it possible to roll the values in the popup, e.g. wrapping 00 seconds to 59 if one goes "up"? I instinctively tried to do this with the mouse-wheel. Days being the exception, as we might not have a upper limit there.

Refactor PhotoView to Remove BufferedImage Dependency and Resolve File Reading Error

I would like to propose some changes to the PhotoView class. Currently, it depends on BufferedImage from the AWT library, but I believe we can remove this dependency to simplify the code.

Additionally, there's a logical error in the file reading process. When multiple files are provided, such as "1.txt", "2.png", and "3.txt", the code only attempts to read an image from the first file. If the first file isn't an image (as in the case of "1.txt"), it doesn't proceed to the next files, and therefore, "2.png" is never displayed. This is an incorrect behavior

Introducing Spacer Component for Dynamic Growth Direction in HBox and VBox

Summary:
To enhance the layout management in our JavaFX application, we have encapsulated a new component named Spacer.

Background:
We frequently use the Region inside HBox and VBox, allowing it to auto-grow to separate two components. This frequent use case led us to create a more efficient solution.

Details:
The Spacer component is designed to automatically determine its growth direction based on its parent component, whether it's an HBox or a VBox. This dynamic direction determination enables us to achieve effective separation between components without manually setting the growth direction every time.

Benefits:

Simplifies layout management.
Reduces the need for repetitive code when separating components in HBox and VBox.
Provides a more intuitive way to handle dynamic component spacing.
We believe this new Spacer component will streamline the layout process and make the user interface development more efficient. Feedback and further testing are welcomed.

Localization, custom CSS, components

Hi, very interested in PDFView. Works really well, but saddly, it seems not to be localizable. Is there a plan to Externalize Strings?
Also, if the presentation layer was in FXML with components for navigation bar, thumbnails, search bar, etc, and we could set de css file, that would help a lot, in order to integrate this cool tool in our apps. I am not very experienced in JavaFX, perhaps there is a solution as is but I can't figure it out.
Thanks

jdk15 JFX15 Exception

Hello,
I get this exception

20-11-13 13:10:23| [JavaFX Application Thread|]:advit.log.LoggerHelper uncaughtException JavaFX Application Thread
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
at com.dlsc.gemsfx.keyboard.KeyboardView.loadKeyboard(KeyboardView.java:187)
at com.dlsc.gemsfx.keyboard.KeyboardView.loadKeyboard(KeyboardView.java:168)
at com.dlsc.gemsfx.keyboard.KeyboardView.loadKeyboard(KeyboardView.java:159)
at com.dlsc.gemsfx.keyboard.KeyboardView.(KeyboardView.java:122)

Cannot build with Gradle: dependency errors

I am trying to use your library with Java 17 and Gradle 8.0.

Everything worked fine when I worked on my project after creating it with IntelliJ wizard. However, when I cloned the repository from git to work on it elsewhere, build started to fail.

I got an error
java.lang.module.FindException: Module javafx.swing not found, required by com.dlsc.gemsfx, but fixed it by adding

javafx {
    modules = [..., 'javafx.swing']
}

Now I get an error
java.lang.module.FindException: Module commons.validator not found, required by com.dlsc.gemsfx.

I tried adding commons-validator to my build.gradle, but it doesn't work.

Do you have any idea what I can do to make it work again?
Thank you

SearchField and New Item Producer

Hello,

I am willing to use the search field as a suggestion field, this means that I would like to let the user create new items when the one he wants doesn't exist.
I have given a try to the the new item producer property, but then, it is called everytime the user sends a new letter, so if I want to create a new item called cat, then it will try to create "c", "ca" and, at last "cat", I haven't found a way to figure out when the user has finished typing.

How is this feature supposed to work ?

Issue resolving third-party dependency tree-showing due to invalid/no pom for version

Using gemsfx in a gradle project:

I already added the maven repo from them and also filed a bug report over there : JPro-one/JPro-Tickets#150

repositories {
    mavenLocal()
    mavenCentral()
    maven { url 'https://oss.sonatype.org/content/groups/public' }
    maven { url 'https://jitpack.io' }
    maven { url 'https://sandec.jfrog.io/ui/native/repo' }
}

Could not resolve all files for configuration ':compileClasspath'.
Could not resolve one.jpro.jproutils:tree-showing:0.2.2.
Required by:
project : > com.dlsc.gemsfx:gemsfx:1.72.0
Task :compileJava FAILED
> Could not resolve one.jpro.jproutils:tree-showing:0.2.2.
> Could not parse POM https://sandec.jfrog.io/ui/native/repo/one/jpro/jproutils/tree-showing/0.2.2/tree-showing-0.2.2.pom

JavaFX application containing PDFView node wont exit

I've noticed that JavaFX application containing PDFView node wont exit properly.

Steps to reproduce:

  1. Run com.dlsc.gemsfx.demo.PDFViewApp.
  2. Try to close the application.

Expected result:
The application should exit immediately.

Actual result:
Application won't exit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.