У меня есть несколько столбцов в табличном представлении, и я хотел бы, чтобы их ширина оставалась постоянной при расширении представления. С maxWidth = minWidth = 120.px это кажется довольно простым. Моя проблема в том, что я также хотел бы полностью отключить изменение размера столбцов пользователем. Это то, что у меня есть до сих пор:
tableview(model) {
smartResize()
column("DATE", Model::date) {
isResizable = true // This is where it seems to work
style {
minWidth = 120.px
prefWidth = 120.px
}
cellFormat {
graphic = cache(rowItem.id) {
datepicker(rowItem.dateProperty) {
style {
textAlignment = TextAlignment.CENTER
maxWidth = 200.px
}
}
}
}
}
column("LAME/\nWCO", RWADetail::lameWco).makeEditable().style {
alignment = Pos.CENTER
}
column("DESCRIPTION", RWADetail::description).makeEditable().remainingWidth().style {
alignment = Pos.CENTER_LEFT
}
}
Однако это приводит к странному результату, когда пустые строки ниже имеют разную ширину. Это фрагмент результирующего столбца даты с несовместимым размером для пустых строк:
Я на правильном пути?
Я не знаю, как вставить скриншот, не загружая его на веб-сайт, поэтому вот изображение на моем диске Google: drive.google.com/file/d/1n7OexmLgyHWxDyuwWxIPS0OfZCdHRg4s/…
На самом деле вы можете просто вставить изображение сюда, и SO автоматически загрузит его в Imgur. Я часто видел эти проблемы, вам может потребоваться вручную обновить таблицу. Опубликуйте образец исполняемого кода, чтобы мы могли изучить его.
Ок, попробую. Я опубликую работающий образец, как только смогу.
Я не уверен, сколько кода вы имели в виду под исполняемым кодом, но я добавил изображение результата и добавил код для всей моей таблицы. Весь стиль, который я использую, встроен здесь.





Похоже, я сам ответил на свой вопрос: хитрость заключалась в методе TornadoFx под названием fixedWidth(200). Ниже мой измененный код
tableview(model) {
smartResize()
column("DATE", Model::date) {
style {
fixedWidth(120)
}
cellFormat {
graphic = cache(rowItem.id) {
datepicker(rowItem.dateProperty)
}
}
}
column("LAME/\nWCO", RWADetail::lameWco).makeEditable().style {
fixedWidth(120)
alignment = Pos.CENTER
}
column("DESCRIPTION", RWADetail::description).makeEditable().remainingWidth().style {
fixedWidth(120)
alignment = Pos.CENTER_LEFT
}
}
Что вы имеете в виду под странными результатами? Можете ли вы опубликовать образец исполняемого кода, а также скриншот?