Witajcie! :)
Piszę sobie aktualnie mały program do tworzenia plików ZIP i w związku z tym chciałem skorzystać z TableView
dostępnego w pakiecie JavaFX
. Używam wersji 8 JDK. Kod elegancko wypisuje nazwę pliku i ścieżkę, lecz nie jestem w stanie wyświetlić rozmiarów poszczególnych plików. Próbowałem z TableColumn<File, String> fileSize = new TableColumn<File, String>("Size");
oraz TableColumn<File, Integer> fileSize = new TableColumn<File, Integer>("Size");
, aż sprawdziłem w dokumentacji, że metoda zwraca long
. Mimo zmian, nic się nie wyświetla.
File folder = new File("C:/");
ObservableList<File> list = FXCollections.observableArrayList(folder.listFiles());
table = new TableView<File>(list);
TableColumn<File, String> fileName = new TableColumn<File, String>("Name");
fileName.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn<File, String> filePath = new TableColumn<File, String>("Path");
filePath.setCellValueFactory(new PropertyValueFactory<>("absolutePath"));
TableColumn<File, Long> fileSize = new TableColumn<File, Long>("Size");
fileSize.setCellValueFactory(new PropertyValueFactory<>("length"));
table.getColumns().addAll(fileName, filePath, fileSize);
root.getChildren().add(table);
Generalnie w internecie ciężko znaleźć jakieś porządne przykłady obsługi TableView
. W każdym razie nie ma prawie żadnego jeżeli chodzi o dostosowywanie kolumn i ich zawartości.
Z góry dzięki za pomoc.