Discussion:
Classes seem to be too restrictive
Thimo von Rauchhaupt
2018-11-13 07:38:45 UTC
Permalink
Hello,

As a feedback, I'd like to post my experience in upgrading our software from java 8 (Oracle JDK) to java 11 ( OpenJDK / OpenJFX).
Many classes where moved from private packages to javafx packages, but there are still some classes, which are too restrictive.
Either they are in some private packages or they have package-protected access on important methods / fields.

For instance :

* it is imposible to write an own ResizePolicy for tables, as the method TableColumn.doSetWidth() is package-private. I do see the fear that someone would use this method falsely, but IMHO protected would be a better variant to gain access for overridden classes.

* we needed to call updateDisplayNode() / updateDisplayArea() in ComboBoxPopupControl because we developed some special skins.

* you cannot access the behavior, nor is it impossible to override them property ass

To implement some features, we had to write own helper classes in javafx packages, to gain accessibility to the package private methods. This is not the perfect way, but as long as we do not use the module support we can have package-splits.

Best regards
Thimo
Nir Lisker
2018-11-13 10:12:06 UTC
Permalink
Hi,

it is imposible to write an own ResizePolicy for tables


Is TableView#setColumnResizePolicy not good enough?

[1]
https://openjfx.io/javadoc/11/javafx.controls/javafx/scene/control/TableView.html#setColumnResizePolicy(javafx.util.Callback)

- Nir

On Tue, Nov 13, 2018 at 10:32 AM Thimo von Rauchhaupt <
Post by Thimo von Rauchhaupt
Hello,
As a feedback, I'd like to post my experience in upgrading our software
from java 8 (Oracle JDK) to java 11 ( OpenJDK / OpenJFX).
Many classes where moved from private packages to javafx packages, but
there are still some classes, which are too restrictive.
Either they are in some private packages or they have package-protected
access on important methods / fields.
* it is imposible to write an own ResizePolicy for tables, as the
method TableColumn.doSetWidth() is package-private. I do see the fear that
someone would use this method falsely, but IMHO protected would be a better
variant to gain access for overridden classes.
* we needed to call updateDisplayNode() / updateDisplayArea() in
ComboBoxPopupControl because we developed some special skins.
* you cannot access the behavior, nor is it impossible to override
them property ass
To implement some features, we had to write own helper classes in javafx
packages, to gain accessibility to the package private methods. This is not
the perfect way, but as long as we do not use the module support we can
have package-splits.
Best regards
Thimo
------------------------------------------------------------------------------
IMPORTANT NOTICE / WICHTIGER HINWEIS
This communication contains information which is confidential and may also
be privileged. It is for the exclusive use of the intended recipient(s). If
you are not the intended recipient(s) please note that any distribution,
copying or use of this communication or the information in it is strictly
prohibited. If you have received this communication in error please notify
us immediately by email or by telephone and then delete this email and any
copies of it.
Diese E-Mail koennte vertrauliche und/oder rechtlich geschuetzte
Informationen enthalten. Wenn Sie nicht der richtige Adressat sind oder
diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den
Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die
unbefugte Weitergabe dieser Mail sind nicht gestattet.
------------------------------------------------------------------------------
Loading...