On Wed, 23 Mar 2022 08:19:41 GMT, Marius Hanl <mh...@openjdk.org> wrote:

>> This fix respects a row factory, if present.
>> It will put the cell that is used to measure the column width as child below 
>> the row.
>> In that way the row's style will be used.
>
> modules/javafx.controls/src/main/java/javafx/scene/control/skin/TableColumnHeader.java
>  line 650:
> 
>> 648:         }
>> 649:         Callback<TableView<T>, TableRow<T>> rowFactory = 
>> tv.getRowFactory();
>> 650:         TableRow<T> tableRow = rowFactory != null ? rowFactory.call(tv) 
>> : new TableRow<>();
> 
> When there is no row factory, we probably should just return like in line 
> 632-633?

Unlike cell factory, which always has to be present, the row factory is 
optional and in fact most tables will not have a row factory. If we return in 
that case, the algorithm will no longer work for these tables.
Compare with `javafx.scene.control.skin.TableViewSkin.createCell()`.

-------------

PR: https://git.openjdk.java.net/jfx/pull/757

Reply via email to