dlsc-software-consulting-gmbh / calendarfx Goto Github PK
View Code? Open in Web Editor NEWA Java framework for creating sophisticated calendar views (JavaFX 8, 9, 10, and 11)
Home Page: http://www.dlsc.com
License: Apache License 2.0
A Java framework for creating sophisticated calendar views (JavaFX 8, 9, 10, and 11)
Home Page: http://www.dlsc.com
License: Apache License 2.0
There are some properties inherited from DateControl that are no longer relevant in ResourceCalendarView (like for example com.calendarfx.view.DateControl#setLayout - as far as I understand this view is not intended to show swimlanes at all). But unfortunately there are properties that are relevant to this view and do not work. I have tried with e.g. com.calendarfx.view.DateControl#setRequestedTime, com.calendarfx.view.DateControl#setStartTime, com.calendarfx.view.DateControl#setEndTime and none of these methods work (they do not affect the view).
But one thing is fixing and the other is the visibility of these properties. Is it possible to hide these not-relevant ones? Or could you please provide a list of properties that are relevant so that I could expose only these that affect the view to the end-user?
Inside the entry view factory the Entry1 entry view has set specific pref width and alignment strategy to ALIGN_LEFT
:
entryView.setPrefWidth(20);
entryView.setAlignmentStrategy(EntryViewBase.AlignmentStrategy.ALIGN_LEFT);
The Entry2 entry has default alignment strategy EntryViewBase.AlignmentStrategy.FILL
When the Entry1 and Entry2 intersect and the Entry1 start time is later than the Entry2 start time, then the Entry1 is no longer on the left side of the day view. Please look at the image below:
I would expect that after setting the EntryViewBase.AlignmentStrategy.ALIGN_LEFT
, the entry view always shows up on the left side of the day view. Is it possible?
"There is currently no support for defining exceptions for recurrence rules. In most calendar applications, when the user edits a recurrent entry, the user will be asked whether he wants to change just this one recurrence or the whole series. This feature is currently not supported but will be in one of the next releases." (CalendarFX manual - Known Issues)
This issue is meant to track any progress on this. I think that, without this feature, this library is nearly unusable for many use cases (including mine).
Dialog of GNOME Calendar 3.32.2, when pressing apply after editing a recurring event for reference:
Has work on this started already? How can I help?
I would like to add a marker to a resource calendar view right after the user clicks with the left mouse button on the time scale:
Because the area selected by a red rectangle it is a TimeScaleView
right?
Is it possible to retrieve the TimeScaleView
control from a ResourceCalendarView
? I can see that it is available in the ResourceCalendarViewSkin
but it is not visible to the outside world - so it is hard to attach a listener to it. But maybe there is another way of getting to it that I'm not aware of.
Is it possible to easily disable the drag and drop for the entry? I only want change the day or interval of an entry programmatically, not in the UI.
Do you know if it's possible to drag and drop tags on the calendar and trigger an event to add this tag's datas to the calendar ?
It could make sense to set the master-11
branch as default.
That way visitors see the current version of the repository by default.
What do you think?
I get the following error while building with gradle/maven:
Could not resolve com.calendarfx:view:8.4.1.
> Could not parse POM http://jcenter.bintray.com/com/calendarfx/view/8.4.1/view-8.4.1.pom
> Could not find com.calendarfx:calendar:8.4.1.
The error is a little bit misleading. You will notice in stacktrace and debug, that gradle won't find the parent pom http://jcenter.bintray.com/com/calendarfx/calendar/8.4.1/calendar-8.4.1.pom.
When creating a new entry from the context menu of the DayView
and layout set to swimlane use the calendar the context menu was opened on instead of the default calendar.
When the layout is set to swimlane and you right click somewhere in the column of a calendar to open the context menu there and select "Add New Event" the new event is created in the default calendar instead of the calendar you opened the context menu on.
I think it might be better to use the calendar which is displayed below the context menu instead.
When unchecking the calendar in the SourceView section and change the period in the day or week view and return again to the inicial view, the calendar is not visible anymore, that behavior is not present in the month view
For more details you can check the video here
I’ve been trying integrate the google calendar into a regular calendar view whereby when there’s an internet connection whereby the user is given the option to login to their google calendar rather than always requiring an internet connection to start the app. Is there any way I could get some assistance on that, I have been trying for a while. Thank you.
I'm using CalendarFX 11.5.0 and want to restrict the user to only see the YearPage of the example. So I'm doing:
CalendarView calendarView = new CalendarView();
calendarView.showYearPage();
calendarView.setShowPageSwitcher(false);
calendarView.setShowSearchField(false);
calendarView.setShowSearchResultsTray(false);
calendarView.setShowAddCalendarButton(false);
calendarView.setShowPrintButton(false);
calendarView.setShowDeveloperConsole(false);
The problem is that when I'm double-clicking a day, it switches the view. To change that behavior as well, I thought I simply have to provide a custom callback for the setEntryDetailsCallback function but this doesn't work.
calendarView.setEntryDetailsCallback(param -> { System.out.println("Test"); return true; });
But I'm not even getting the "Test" printed. Am I missing something?
Hello everybody,
I do not understand how I can save the data. Could you help me by giving me examples. It's not for lack of trying but I'm blocking for too long. (I do not understand how to use your event and / or do not know how to recover the data.).
Even though I read the other two post on the same topic it does not really help me.
My goal is to store either the calendar or any entries
in database via a LongBlob.
Everything is programmed except the system for saving entries.
I hope I have been sure, if not, do not hesitate.
Thank you for your help.
When start time is set to LocalTime.MIN
and end time is set to LocalTime.MAX
the context menu of DayView
only shows the "Add new Event" entry. I think only the "Early/Late Hours" entry should be hidden in this case. "Grid" and "Show Hours" should still be shown.
The width of columns adjust to their content and does not correspond to the rest of the view (see attachment).
This is how I create a header for a given resource:
private Node getResourceHeader( Resource resource )
{
Label label1 = new Label( resource.getId() );
Label label2 = new Label( resource.getName() );
label1.setStyle( "-fx-font-weight: bold;" );
label1.setAlignment( Pos.CENTER );
label2.setAlignment( Pos.CENTER );
VBox box = new VBox( 0, label1, label2 );
box.setPadding( new Insets( 3 ) );
box.setFillWidth( false );
box.setAlignment( Pos.CENTER );
return box;
}
I was starting a follow up on #49 to remove any Joda-Time dependency from this project, as "from Java SE 8 onwards, users are asked to migrate to java.time (JSR-310) - a core part of the JDK which replaces this project" (Joda-Time Home) and this library targets "JavaFX 8, 9, 10, and 11".
When looking at CalendarFXRecurrence
, I wondered if the whole module could be replaced by the recurrence API of iCal4j. iCal4j implements RFC5545 (Supersedes RFC2445). It is already in the dependency tree as dependency of CalendarFXiCal
and will adapt java.time (JSR-310) in the future (see ical4j/ical4j#242).
What do you think about that?
When I add 250 entries to 10 calendars (each calendar has around 25 entries) while initializing the calendar view, everything works fine and very fast. But when I add the same number of entries when the view is already opened, it lasts several (~20) seconds (in order to add entries to a calendar I’m using the com.calendarfx.model.Calendar#addEntries(java.util.Collection<com.calendarfx.model.Entry<?>>) method).
As far as I can see, while initialization there is only one event handler assigned to a calendar. But after the view has been initialized, there are already ~7 event handlers registered. The most time-consuming handler is located in AgendaViewSkin: impl.com.calendarfx.view.AgendaViewSkin#updateList(com.calendarfx.model.CalendarEvent, java.lang.String). There is also a suggestive comment 😃 :
// TODO: this can be optimized more to only update when really needed
As far as I can see, the whole list of entries is being updated for each updated entry - which seems unnecessary. I'm talking about the 11.8.3 version btw.
PS. Are there any limitations regarding the number of entries added to a calendar? I heard that CalendarFX is not intended to show that big number of entries as e.g. FlexGanttFx is. Does the limitation refer just to the number of visible entries or entries that are assigned to a calendar in total?
I have faced a similar issue as in #57 but this was closed before I could comment on it.
In my scenario I build an uber jar which contains my own code as well as CalendarFX in the same jar file. The jar was built using the Maven Assembly Plugin. When executed, the icons where missing and I got a bunch of UnsupportedOperationExceptions.
I traced down the issue and I found out that the plugin does not merge the files inside META-INF/services
. So the file org.kordamp.ikonli.IkonHandler
does not contain the name of the FontAwesome handler.
I fixed the problem by using the Maven Shade Plugin instead which is able to merge the service files. The following code builds a uber jar with the correct service handler:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer">
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
I don't think this can be fixed in CalendarFX itself but it might be worth mentioning in the README. It is also worth mentioning that this only affects uber jars.
Dirk, in DayEntryViewSkin, are you fine if I change the methods private modifier to protected so we are able to easily reuse and enhance it outside of the CalendarFX?
Release 11.5.0 uses controlsfx in version 9.0.1-SNAPSHOT, requiring a consumer of CalendarFX to enable the Sonatype snapshot repo, with the known drawbacks.
https://github.com/dlemmermann/CalendarFX/blob/master-11/CalendarFXView/pom.xml#L70
Hello,
i want to include your Calendar in my project. Therefore i tried some of your examples but now i have two questions:
What would be the best way to save the calendar data persistent? Writing to Database oder to a file?
I want to include the Google Calendar in my application. This works and i can log in, but after restart i have to login again and when opening the GoogleCalendarAppView for a second time i get the following error:
java.lang.UnsupportedOperationException: The account has not been authorized yet!
Maybe you have some useful tips for me.
Thank you
The class DateControl has a static reference to the last PopOver.
private static PopOver entryPopOver;
This reference stays open, even if the Calendar is no longer used.
I noticed it, in the demo-server for jpro.one, the last CalendarApp always stays in the heap.
Removing static
from the variable should fix the issue, but I'm not sure, whether this has any unwanted side-effects.
The context menu of the DayView
is not available if the first calendar of the first calendar source is not visible and/or read-only.
This is especially bad if the first calendar is a read-only calendar and the user is not able to change the order of the calendars. Then There is no way to enable the context menu.
The Entry
class provides a method getStyleClass()
that offers, according to the docs, the ability to add a custom style for an entry. However, the custom style is not applied consequently.
I use the custom styles to apply different background colors to the entries. I noticed the following issues:
true
after applying the custom styleI already found a way to fix 1, 2 and 3. I can open a PR to fix these issues.
For 4 I don't see any easy solution since it does not use the entry style classes but instead refers to the color of the related calendar.
Is there any guide about this?
Can you explain me how to use CalendarFX in Scene Builder ?
I imported both libraries but I don't have CalendarView component.
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from bintray: https://dl.bintray.com/jerady/maven/com/calendarfx/google/8.5.0/google-8.5.0.pom
Downloading from central: https://repo.maven.apache.org/maven2/com/calendarfx/google/8.5.0/google-8.5.0.pom
[WARNING] The POM for com.calendarfx:google:jar:8.5.0 is missing, no dependency information available
Downloading from bintray: https://dl.bintray.com/jerady/maven/com/calendarfx/google/8.5.0/google-8.5.0.jar
Downloading from central: https://repo.maven.apache.org/maven2/com/calendarfx/google/8.5.0/google-8.5.0.jar
Hey,
can you give a short example implementation for the MyCustomEntryDialog
calendarView.setEntryDetailsCallback(param -> new MyCustomEntryDialog());
Thank you
When performing a complete clean and build on CalendarFX with NetBeans 8.2 I see numerous errors related to JavaDocs that you can see in JavaDocsErrors01.txt
Even more confusing is what happens if I choose to clean and build only CalendarFXView. Now the JavaDocs errors are different and you can see them in JavaDocsErrors02.txt
Java Version is 1.8.0_172
Clean new install of NetBeans
Local Maven repository is deleted before clean and build.
I added controlsfx in my module-info.java like
module base.education.ui {
requires common.education.ui;
requires javafx.controls;
requires javafx.media;
requires org.kordamp.ikonli.javafx;
requires java.sql;
requires org.fxyz3d.core;
requires javafx.swing;
requires com.calendarfx.view;
requires com.calendarfx.recurrence;
requires gson;
opens baseImages;
opens base.education.ui to javafx.graphics;
exports base.education.ui;
}
but when using the CalendarView in my module I am facing the following problem
Error occurred during initialization of boot layer
java.lang.module.FindException: Module controlsfx not found, required by com.calendarfx.view
Regards
992f9e3 has made the icons disappear on my system. I documented this issue using a build of 60b9d66.
System:
$ uname -srm
Linux 5.2.17-1-ck-nehalem x86_64
$ java -version
openjdk version "13" 2019-09-17
OpenJDK Runtime Environment AdoptOpenJDK (build 13+33)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 13+33, mixed mode, sharing)
Starting calendar-demo
results in:
$ java -jar calendar-demo.jar
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-list'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.DayPage.createToolBarControls(DayPage.java:100)
at com.calendarfx.view.page.DayPage.<init>(DayPage.java:82)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:93)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-calendar'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.DayPage.createToolBarControls(DayPage.java:105)
at com.calendarfx.view.page.DayPage.<init>(DayPage.java:82)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:93)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-columns'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.DayPage.createToolBarControls(DayPage.java:110)
at com.calendarfx.view.page.DayPage.<init>(DayPage.java:82)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:93)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-table'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.DayPage.createToolBarControls(DayPage.java:144)
at com.calendarfx.view.page.DayPage.<init>(DayPage.java:82)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:93)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-table'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.WeekPage.<init>(WeekPage.java:68)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:94)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-table'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at com.calendarfx.view.page.YearPage.updateDisplayModeIcon(YearPage.java:117)
at com.calendarfx.view.page.YearPage.<init>(YearPage.java:94)
at com.calendarfx.view.CalendarView.<init>(CalendarView.java:96)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:36)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-plus'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at impl.com.calendarfx.view.CalendarViewSkin.<init>(CalendarViewSkin.java:166)
at com.calendarfx.view.CalendarView.createDefaultSkin(CalendarView.java:159)
at javafx.scene.control.Control.doProcessCSS(Control.java:897)
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:1399)
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:9540)
at javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.scene.Scene.preferredSize(Scene.java:1745)
at javafx.scene.Scene$2.preferredSize(Scene.java:393)
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
at javafx.stage.Window$12.invalidated(Window.java:1086)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
at javafx.stage.Window.setShowing(Window.java:1174)
at javafx.stage.Window.show(Window.java:1189)
at javafx.stage.Stage.show(Stage.java:273)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:101)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-print'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at impl.com.calendarfx.view.CalendarViewSkin.<init>(CalendarViewSkin.java:177)
at com.calendarfx.view.CalendarView.createDefaultSkin(CalendarView.java:159)
at javafx.scene.control.Control.doProcessCSS(Control.java:897)
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:1399)
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:9540)
at javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.scene.Scene.preferredSize(Scene.java:1745)
at javafx.scene.Scene$2.preferredSize(Scene.java:393)
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
at javafx.stage.Window$12.invalidated(Window.java:1086)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
at javafx.stage.Window.setShowing(Window.java:1174)
at javafx.stage.Window.show(Window.java:1189)
at javafx.stage.Stage.show(Stage.java:273)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:101)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException: Cannot resolve 'fa-search'
at org.kordamp.ikonli.javafx.IkonResolver.resolveIkonHandler(IkonResolver.java:62)
at org.kordamp.ikonli.javafx.FontIcon.lambda$new$2(FontIcon.java:94)
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:224)
at org.kordamp.ikonli.javafx.FontIcon.<init>(FontIcon.java:108)
at impl.com.calendarfx.view.CalendarViewSkin.<init>(CalendarViewSkin.java:299)
at com.calendarfx.view.CalendarView.createDefaultSkin(CalendarView.java:159)
at javafx.scene.control.Control.doProcessCSS(Control.java:897)
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:1399)
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:9540)
at javafx.scene.Scene.doCSSPass(Scene.java:569)
at javafx.scene.Scene.preferredSize(Scene.java:1745)
at javafx.scene.Scene$2.preferredSize(Scene.java:393)
at com.sun.javafx.scene.SceneHelper.preferredSize(SceneHelper.java:66)
at javafx.stage.Window$12.invalidated(Window.java:1086)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145)
at javafx.stage.Window.setShowing(Window.java:1174)
at javafx.stage.Window.show(Window.java:1189)
at javafx.stage.Stage.show(Stage.java:273)
at com.calendarfx.app.CalendarApp.start(CalendarApp.java:101)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:830)
CalendarFX user interface framework for Java
(c) 2014 - 2018 DLSC Software & Consulting
Sep 25, 2019 6:52:25 PM com.calendarfx.util.CalendarFX getVersion
INFO: CalendarFX Version: 11.7.0
Version: 11.7.0
Website: http://www.dlsc.com
Apart from the icons everything seems to work. I get additional exceptions when opening the print window.
Hallo,
I want to create my own project and embedd your calendar view.
Therefore I created a Sample App. It's the same code than your "CalendarApp.java".
I had to include the fontawesome .jars and your calendarfx .jars so I get no error but when running i get following error:
**Caused by: java.lang.VerifyError: class impl.com.calendarfx.view.CalendarViewSkin$CustomMasterDetailPane overrides final method resetDividerPosition.()V** at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.calendarfx.view.CalendarView.createDefaultSkin(CalendarView.java:140) at javafx.scene.control.Control.impl_processCSS(Control.java:872) at javafx.scene.Node.processCSS(Node.java:9058) at javafx.scene.Scene.doCSSPass(Scene.java:545) at javafx.scene.Scene.preferredSize(Scene.java:1643) at javafx.scene.Scene.impl_preferredSize(Scene.java:1720) at javafx.stage.Window$9.invalidated(Window.java:846) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144) at javafx.stage.Window.setShowing(Window.java:922) at javafx.stage.Window.show(Window.java:937) at javafx.stage.Stage.show(Stage.java:259) at sample.Main.start(Main.java:65) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) ... 1 more Exception running application sample.Main
How can I solve this problem. I'm using Java 8.
I downloaded 8.4.1 release and run mvn package
some tests failed with the following message:
Failed tests: TimeZoneConverterTest.testConvertMonteCarlo:84->assertOffsetsEqualForDate:183 offset=1511948151291 in Pacific/Tongatapu expected:<50400000> but was:<46800000>
In CalendarFXGoogle the class CalendarViewTimeUpdateThread shows the following:
private static final int TEN_SECONDS = 10_1000;
This is actually 101 seconds. It should be
private static final int TEN_SECONDS = 10_000;
When starting com.calendarfx.google.GoogleCalendarApp
from master-11
, I only see a blank window and no Google Login web page.
Is this the intended behavior?
Hi @dlemmermann ,
Currently we are working in a new feature for the calendar component the drag and drop for multiple entries, but we are wondering if you agree if we could include this new feature in the calendar component
Current and expected behavior in these videos
Is calendarfx now free ? On calendarfx.com, I can't figure out where to find a license key.
I tried creating a new account but since I can't access the website anymore.
When I launch the application, it tells me about my 30 days trial.
I have used the calendar in my app, and I have multi screens, the screen for calendar works fine, but the other screens have some images, once I test it, it shows me this error
"
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$159(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1118)
at javafx.scene.image.Image.(Image.java:620)
at com.hospital.view.ImageDemo.start(ImageDemo.java:25)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$166(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$179(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$177(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$178(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$152(WinApplication.java:177)
... 1 more
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1110)
... 11 more
Exception running application com.hospital.view.ImageDemo
"
my class is simple as the image below
I have test the original calendar alone, and it works fine, see below:
but after I tried to add class for image inside the original project, same problem shows again,
please need help.
Thanks
With maven and the versions in title the following line throws an exception:
CalendarView calendarView = new CalendarView();
Thank you
Now that release 8.4.1 is finished we need to publish the artefacts to a central repository. If anyone knows how to do this, please let me know.
Hello, i'm trying to use CalendarFX with a database and I have my functions set up and ready to go. However, i'm running into an issue with the title change. Because of how my event handler is built, requests are sent to the server-side from client-side to update an entry every time that even a letter of the title of an entry changes, I was wondering if I could get some tips on how to get around that. Maybe some wrapper of some sort or usage of my current handler with other tools that I haven't thought about yet. Any advice/tip would be appreciated.
Thanks in advance.
Hi @dlemmermann,
As you can see in attached video, the multiple selection is not working correctly just in day view.
Note: Current issue was solved is Pull Request #37 on commits 697a8de and 872f377
Inside the entry view factory the Entry1 entry view has set specific pref width and alignment strategy to ALIGN_LEFT
:
entryView.setPrefWidth(20);
entryView.setAlignmentStrategy(EntryViewBase.AlignmentStrategy.ALIGN_LEFT);
The Entry2 and Entry3 entries have default alignment strategy EntryViewBase.AlignmentStrategy.FILL
.
When the Entry1, Entry2 and Entry3 intersect and the Entry1 start time is earlier than the Entry2 and Entry3 start times, then the Entry2 and Entry3 do not fill the rest of the day view. There is a gap between Entry1 and Entry2. Please look at the image below:
I would expect that entries with the EntryViewBase.AlignmentStrategy.FILL
strategy will fill all possible space of day view, respecting pref width of intersecting entries with alignment strategies different from EntryViewBase.AlignmentStrategy.FILL
strategy.
What do you think? Is it possible?
I recently submitted some pull requests (#55, #56, #58) which were merged into the master branch. Is it possible to also merge those into the master-11 branch?
The changelog of the 11.8.0 release states that the pull requests were included but the actual code is not.
It would really help me out if you could create a new release that actually contains the code.
Thanks
Hello @dlemmermann, I am new to Java, Maven and the proper programming world in general. I have been trying to figure out how to stop the crashing of scenebuilder when trying to implement the controls. when i drag in the dayview for instance it crashes everytime I let go of the control to place it. I am using version 8.5.0 of CFX (when i try to import the jar of 11.5.0 no controlsare shown in the import screen). scenebuilder version
Hello ! CalendarFX is a great Framework ! i just have a problem with storing Data in local i tried iCal4j but no luck ! can anyone expailn the process for me ! Thanks !!
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.