dlsc-software-consulting-gmbh / gemsfx Goto Github PK
View Code? Open in Web Editor NEWA collection of JavaFX controls and utilities.
License: Apache License 2.0
A collection of JavaFX controls and utilities.
License: Apache License 2.0
The search field should only hide the popup when it is showing a single choice that is ALSO a perfect MATCH (name starts with typed text). Otherwise the field will not show any auto completed text and it will also not show the popup.
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.
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
Strange behavior if I write an invalid number into a field:
Without any styling / css attached to it the glasspane will always be transparent. It should be black with a low opacity.
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.
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.
In some cases the search highlights are misaligned.
For example - searching for "dropbox" in this document:
... results in highlights being misplaced (see second and third match on 2. page):
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:
PDFViewSkin
classI 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.
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:
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.
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
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
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.
Introduce a selection view where user can easily select any year with few clicks/scroll.
Apply the new view to:
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.
When the now is removed from the scene, the animation stopped,
but it's not stopped, when the window is closed while keeping the scene/node.
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)
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?
A while back I wrote a similar thing like your stage manager
https://github.com/trixon/almond/blob/3880029726706ab0122de308af2a636860b602a4/util/src/main/java/se/trixon/almond/util/fx/FxHelper.java#L533
but without your screen management and by occupying stage.setOnCloseRequest.
What it does have is support for fullscreen, always on top and maximized.
Do you have any plans for that or should I use part of your code in mine?
Running the picker demo. If I have values in multiple slots e.g. 22h:03m, I have to press "Update with zero duration" multiple times? Is this the intended behavior? From looking at the code I thought this would set the total duration to zero, zeroing all fields.
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!
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.
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.
Hello
I would like to replace icon of those picker and use something like ikonly.
Is there an easy way to do this ?
I know we can configure with -fx-shape but it's pure SVG.
I notices that ikonly is already defines as a dependency.
If not, does it make sens to propose a PR in that way ?
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?
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
The InfoCenterPane always wants to be a bit wider, as it is currently.
This has the effect, that when put into a ScrollPane, it grows indefinitely horizontally.
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)
Goal: Build a nice input field to enter international phone numbers.
Requirements:
References:
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.
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();
}
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
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.
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
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.
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).
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.
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?
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?
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.
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
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.
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
The user should be able to select the next or previous element with arrow keys (and return or tab).
I tried to use the GemsFX keyboard for one of my projects and I liked its implementation. I would like to know how did you assign a text field to a numeric keyboard?
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)
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
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 ?
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
I've noticed that JavaFX application containing PDFView
node wont exit properly.
Steps to reproduce:
com.dlsc.gemsfx.demo.PDFViewApp
.Expected result:
The application should exit immediately.
Actual result:
Application won't exit.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.