Re: future content of OpenJFX

2018-02-07 Thread Wolfgang Zitzelsberger
As a vendor of third party controls it's finally time for a feedback. We 
create look and feels and controls mainly for Swing/JavaFX desktop 
business applications. For us the most important things are:


* Bugfixing - and we've already reported a lot over the past years
* Rock solid base controls
* An extendable API
* Behavior API

Because of the API, in Java 9 for some methods the visibility changed 
from protected to package local - in conjunction with JPMS it's pretty 
hard to find proper workarounds. Some of our FX controls are pretty 
sophisticated (e.g. our Table control) but all the open bugs makes 
further work pretty expensive simply because it slows development 
extremely down. Even if we noticed some higher activity in bug fixing, 
many open bugs are moved from one release to the next without getting 
fixed. Another big issue is the bug fixing latency - when we post a bug 
today it will be possibly fixed in Java 11 or later. For us this means a 
new product feature can't be tested and released before Java 11 - time 
goes by and in the meantime other technologies win.


Johan, JavaFX is much more popular on Google Trends now than Swing 
because some of you guys praised JavaFX as the "successor of Swing" and 
often followed the "Swing is dead" mantra. If you are looking for a 
competitor you should take a look at web technologies or other non-Java 
products. IMHO Swing is *not* a competitor it's simply the older 
brother. Anyway, this doesn't matter in this discussion. For us creating 
complex JavaFX controls is more complicated than in Swing - not because 
of JavaFX itself, it's mainly because the JavaFX API is currently too 
restricted (way too many final and package-only visible methods).


We've already invested thousands of bucks in JavaFX development without 
any ROI. Not a problem at all but at some point this is quite 
frustrating. And we are far away from seeing a huge interest in JavaFX 
business products. BTW: Any number of downloads can be misleading if you 
know nothing about the user base - business, education, hobby, bot...


Just my 2 cents.

Cheers Wolfgang,
CEO of Jyloo Software
Germany



Skin fields visibility changed from protected to no modifier in Java9

2017-08-04 Thread Wolfgang Zitzelsberger
In some Skins (e.g. MenuButtonSkinBar, TabPaneSkin, TextFieldSkin) the 
visibility of protected fields has been changed so they can't be 
accessed any longer without reflection. Skin classes are public in Java 
9, that's fine - however, limiting visibility makes things even worse. 
Because of Jigsaw a user is now forced to add related "-add-opens" 
arguments.


Additionally, there is no way to access Modena resources because the 
package is not opened - see also 
https://stackoverflow.com/questions/45414557/modena-css-resource-loading-fails-on-java-9


I wonder why you are that restrictive?

- Wolfgang




How to access Modena resources?

2017-08-01 Thread Wolfgang Zitzelsberger
For some custom controls we extend the Modena theme by providing an 
additional CSS file. In this file we have references to some image files 
of Modena just like below.


.details-dialog .message-icon{
  -fx-image: 
url("/com/sun/javafx/scene/control/skin/modena/dialog-information.png");

}

However, because the package is not open this does not work in Java 9 - 
see also 
https://stackoverflow.com/questions/45414557/modena-css-resource-loading-fails-on-java-9


- Wolfgang




Planning for JavaFX.next

2016-12-09 Thread Wolfgang Zitzelsberger

Hi,

new features are pretty welcome.

+1 Public APIs for UI control behaviors, very important on the desktop 
to support keyboard shortcuts properly, maybe some Action/InputMap too

+1 Focus traversal API
+1 A JavaFX equivalent of the AWT Desktop APIs
+1 CSS performance
+1 CSS animations
+1 Any kind of TableView improvement (especially editing)

Things not mentioned, nice to have:

- CSS layout - see https://www.w3.org/TR/css3-grid-layout
- CSS image modification, e.g. colorizing an image
- Window shape support, currently only possibly by enabling transparency 
- however, performance would be better with real shape support


Many thanks,
  Wolfgang