Как сделать ширину ListView равной самой широкой ячейке?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать ширину ListView равной самой широкой ячейке?

Сообщение Anonymous »

Мне нужно сделать ListView ровно настолько, чтобы отображалась самая широкая ячейка (без обрезки), но не более того. Например, если есть три метки шириной 100 пикселей, 200 пикселей и 300 пикселей, то ширина ListView должна быть 300 пикселей.
Я попробовал следующий код, но он не сработал:

Код: Выделить всё

public class Test extends Application {

@Override
public void start(Stage primaryStage) {
ObservableList items = FXCollections.observableArrayList(
"Short item",
"A bit longer item",
"This is a much longer item that needs more space"
);

ListView listView = new ListView(items);

ListCell tempCell = new ListCell();
double maxWidth = 0;
for (String item : items) {
tempCell.setText(item);
double cellWidth = tempCell.prefWidth(-1);
if (cellWidth > maxWidth) {
maxWidth = cellWidth;
}
}

listView.setPrefWidth(maxWidth);
var tabPane = new TabPane(new Tab("Test"));
HBox.setHgrow(tabPane, Priority.ALWAYS);
var root = new HBox(listView, tabPane);
Scene scene = new Scene(root, 800, 300);
primaryStage.setScene(scene);
primaryStage.setTitle("ListView Width Example");
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}
}
Может ли кто-нибудь сказать, как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/789 ... idest-cell
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»