В JavaFX 8 можно было переопределить функцию TableView.resizeColumnToFitContent
.Это жизненно важно для наших целей, поскольку позволяет нам улучшить расположение заголовков столбцов за пределами реализации по умолчанию, а также настроить производительность, при которой значение по умолчанию несколько страдает в больших таблицах.
Один пример того, какПоведение макета было улучшено в контексте вложенных заголовков столбцов.По умолчанию prefWidth заголовка конечного столбца устанавливается в соответствии с максимальной шириной строк данных в этом столбце или шириной текста заголовка конечного столбца, в зависимости от того, что больше.Но если этот заголовок листа имеет несколько заголовков родительского столбца с более широким текстом заголовка, они будут обрезаны и отобразится многоточие.Это нежелательно для нас, поэтому мы изменили resizeColumnToFitContent
, поэтому prefWidth заголовка конечного столбца также учитывает prefWidth заголовков его родительского столбца.
Начиная с Java 9 и последующих коммитов,функция resizeColumnToFitContent
была перемещена в статическое расположение, что лишило возможности настраивать это поведение:
http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/53bfdfed5bbf
Примерно неделю назад я написал автору, ответственному за это изменение,Джонатан Джайлз, но я думаю, что он занятой человек, и это становится проблемой для нас и наших планов по переносу нашего продукта на Java 10, поэтому я подумал, что я также посмотрю, знает ли сообщество, как я могу решить эту проблему.Пока что, похоже, единственным вариантом является несколько грубый подход , обозначенный здесь , но, может быть, есть лучший способ?