Cześć, mam problem.
Otóż gdy próbuję dodać plik PDF, który jest zapisany w zmiennej typu File, nie wyświetla mi się on na liście - lista nie jest pusta, używałem metody isEmpty(). Nie wiem co robię źle :/
Moim zamiarem jest wybranie pliku PDF poprzez FileChooser i po kliknięciu przycisku "save" dodanie go do ListView i wyświetlenie jego nazwy.
Oto kod:
package sample.dialog;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import sample.mainController;
import java.io.File;
public class dialogController {
@FXML
private Button folderButton;
@FXML
private TextField fileDirectory;
@FXML
private TextField fileName;
@FXML
private Button saveButton;
private File selectedFile;
private mainController control = new mainController();
@FXML
public void initialize(){
Image image = new Image(getClass().getResourceAsStream("folder_icon.png"));
folderButton.setGraphic(new ImageView(image));
fileDirectory.setEditable(false);
}
@FXML
private void fileChoose(){
FileChooser chooser = new FileChooser();
FileChooser.ExtensionFilter filters = new FileChooser.ExtensionFilter("PDF","*.pdf", "*.PDF");
chooser.getExtensionFilters().add(filters);
chooser.setTitle("Choose File");
selectedFile = chooser.showOpenDialog(folderButton.getScene().getWindow()); // Zapisanie wybranego pliku do zmiennej selectedFile
fileDirectory.setText(selectedFile.getAbsolutePath());
}
@FXML
private void save(){
ListView list = control.getFilesList();
list.getItems().setAll(selectedFile.getName());
list.getSelectionModel().selectFirst();
((Stage)saveButton.getScene().getWindow()).close();
}
@FXML
private void back(){
((Stage)folderButton.getScene().getWindow()).close();
}
}
Prosiłbym o pomoc :)