Daniel: Thank you for providing a sample app!
You are right: turns out Labeled in a TableView (in a TreeTableView as well) lives by different rules (TableCellSkinBase:152, TreeTableCellSkin:126). The consequence of this is that the new functionality **cannot** be fully implemented with the public APIs alone. Cheers, -andy From: Daniel Peintner <daniel.peint...@gmail.com> Date: Thursday, March 7, 2024 at 07:11 To: Andy Goryachev <andy.goryac...@oracle.com> Cc: openjfx-dev@openjdk.org <openjfx-dev@openjdk.org> Subject: Re: [External] : Re: Q: Labeled.textTruncated Property (RFE) Andy, all, Some comments below: 1. Even if it is possible to do the same with public means I think it is useful. Anyhow we need to promote the solutions better (e.g., on StackOverflow) 2. I tried to achieve what you did in JavaFX core for my use-case, TableView cells. * In my real application I tried and failed since the boolean condition in https://github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java#L838-L841<https://urldefense.com/v3/__https:/github.com/openjdk/jfx/blob/8a5cb17ed6525b0a218595865ead3e399e3b29dd/modules/javafx.controls/src/main/java/javafx/scene/control/Labeled.java*L838-L841__;Iw!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skap9isYa3A$> always reports false * Hence I tried to create a short self-contained TableView example to explore it further, see Gist https://gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf<https://urldefense.com/v3/__https:/gist.github.com/danielpeintner/9b561eb57261e8c5bc608f1346df74cf__;!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skapYpmRbZI$> It still fails :-( * The Email field in the table ideally should report "true" once the text entered exceeds the visible view. Somehow it fails... getWidth() and prefWidth(-1) always return the same double value. Please try the Gist above to confirm. e.g., edit cell and extend the email text to longer than column width --> results in System.out "Table-Email-Cell !isWrapText: 182.0 < 182.0 --> false" * Hence I also added a *normal* MyLabel example which does work as intended Maybe I miss something obvious but TableCells seem to be special Labeled instances and behave differently. Thanks, -- Daniel [1] https://stackoverflow.com/a/52432862<https://urldefense.com/v3/__https:/stackoverflow.com/a/52432862__;!!ACWV5N9M2RV99hQ!O5PIY6RzCkXt8IZB_cJDcwbbQtpWdIn_eD5UALkoKFCGeCJeVYBBfkTd4q6zuLXtArNITv6DWEHxlHfs3Gv6skappYtR2cY$> On Wed, Mar 6, 2024 at 6:10 PM Andy Goryachev <andy.goryac...@oracle.com<mailto:andy.goryac...@oracle.com>> wrote: Dear Daniel: Thank you for confirming the need for this enhancement. Your case is covered by this ticket (I included a wrong ticket in my previous message by mistake, sorry): JDK-8327483<https://bugs.openjdk.org/browse/JDK-8327483> TreeView: Allow for tooltip when cell text is truncated My only concern is that this functionality theoretically can be achieved by the application code just as easy, since the solution does not use any internal APIs, as can be seen here: https://github.com/openjdk/jfx/pull/1389<https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$> -andy From: Daniel Peintner <daniel.peint...@gmail.com<mailto:daniel.peint...@gmail.com>> Date: Tuesday, March 5, 2024 at 23:53 To: Andy Goryachev <andy.goryac...@oracle.com<mailto:andy.goryac...@oracle.com>> Cc: openjfx-dev@openjdk.org<mailto:openjfx-dev@openjdk.org> <openjfx-dev@openjdk.org<mailto:openjfx-dev@openjdk.org>> Subject: [External] : Re: Q: Labeled.textTruncated Property (RFE) Hi Andy, all, Thank you for the effort which I very much appreciate. We have a similar use-case as the one mentioned in JDK-8205211. We would like to show a Tooltip with the corresponding text once the text is shown with ellipsis for a TableCell. The *hacky* solution we are using is sketched in [1] and requires us to calculate the width again. Moreover, once different fonts come into the game it becomes even more brittle. Having an easy (easier?) way to detect and observe whether a label is truncated is of importance for us and definitely improves the usability of JavaFX. Thanks, -- Daniel [1] https://stackoverflow.com/a/52432862<https://urldefense.com/v3/__https:/stackoverflow.com/a/52432862__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMSbAOrZg$> On Tue, Mar 5, 2024 at 10:15 PM Andy Goryachev <andy.goryac...@oracle.com<mailto:andy.goryac...@oracle.com>> wrote: Dear colleagues: Do you think a new property, ReadOnlyBooleanProperty textTruncated, should be added to the Labeled control? On one hand, we do have a couple of tickets in JBS requesting that: * JDK-8091891<https://bugs.openjdk.org/browse/JDK-8091891> TreeView: There is no tooltip available on truncated node * JDK-8205211<https://bugs.openjdk.org/browse/JDK-8205211> Ability to show Tooltip only when text is shown with ellipsis (...) On the other hand, this functionality can in theory be implemented at the application level, although the number of changes required might be uncomfortably large in the case of Tree/TreeTable/TableView. JBS: * JDK-8092102<https://bugs.openjdk.org/browse/JDK-8092102> Labeled: truncated property Pull Request: https://github.com/openjdk/jfx/pull/1389<https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/1389__;!!ACWV5N9M2RV99hQ!LUwCrjMEKxlGC0k5v9-zO0Axw6TqddmMJM7_6onFdHOLL1eo5MDNu1lVj7grGquhgJdnqXX_eCyA7MGEMNyIivVMcBB9XfY$> What do you think? -andy