как выровнять содержимое listView?

186
09 июня 2018, 11:30

Можно ли как-то выровнять содержимое? Или только нужно создавать tableView?

Answer 1

Простой пример:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        ListView<DirectoryInfo> listView = new ListView<>();
        listView.getItems().addAll(
                new DirectoryInfo("Курсовая работа", 6, 275),
                new DirectoryInfo("ЧисленныеМетоды", 4, 0),
                new DirectoryInfo("Политология", 1, 543),
                new DirectoryInfo("Матанализ", 1, 100),
                new DirectoryInfo("ООП", 3, 1753)
        );
        listView.setCellFactory(param -> new DirectoryInfoListCell());
        primaryStage.setScene(new Scene(listView,300, 300));
        primaryStage.show();
    }
    private static class DirectoryInfo {
        public DirectoryInfo(String directory, int countFiles, double size) {
            this.directory = directory;
            this.countFiles = countFiles;
            this.size = size;
        }
        String directory;
        int countFiles;
        double size;
    }
    private static class DirectoryInfoListCell extends ListCell<DirectoryInfo> {
        private Label lDirectory;
        private Label lCountFiles;
        private Label lSize;
        private HBox hbContent;
        public DirectoryInfoListCell() {
            setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
        }
        @Override
        protected void updateItem(DirectoryInfo item, boolean empty) {
            super.updateItem(item, empty);
            if (empty) {
                setGraphic(null);
            } else {
                if (hbContent == null) {
                    initContent();
                }
                lDirectory.setText(item.directory);
                lCountFiles.setText(String.valueOf(item.countFiles));
                lSize.setText(String.valueOf(item.size));
                setGraphic(hbContent);
            }
        }
        private void initContent() {
            lDirectory = new Label();
            lDirectory.setMinWidth(150);
            lCountFiles = new Label();
            lCountFiles.setMinWidth(100);
            lSize = new Label();
            lSize .setMinWidth(100);
            hbContent = new HBox(lDirectory, lCountFiles, lSize);
        }
    }
}
READ ALSO
AndroidJSCore. RuntimeException

AndroidJSCore. RuntimeException

Cтолкнулись со следующей проблемой

135
Как правильно обрабатывать ошибки в rxJava 2?

Как правильно обрабатывать ошибки в rxJava 2?

Проект состоит из 3 частей data ,presentation,domain В data есть репозиторий который получает данные трансформирует их в обьект для domain и в принципе все...

180
Картинка в lookupField или searchField

Картинка в lookupField или searchField

Как можно в выпадающем списке отобразить вместо иконок (которые можно добавить через OptionIconProvider) картинку, которая грузится с БД?

150
Ошибка при запуске приложения с ProGuard

Ошибка при запуске приложения с ProGuard

Ошибка при запуске приложения:

181