Change ImageView image from FIle chooser JAVAFX

0

I can not see the image loaded in the ImageView.

@FXML
void cambiarImgPerfil(ActionEvent actionEvent) throwsjava.io.IOException{

    FileChooser chooser = new FileChooser();
    chooser.setTitle("Open File");
    chooser.setInitialDirectory(new File(System.getProperty("user.home")));
    chooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("Image Files","*.bmp", "*.png", "*.jpg", "*.gif")); 
    File file = chooser.showOpenDialog(new Stage());
    if(file != null) {
            //String imagepath = file.toURI().toURL().toString();


            Image image = new Image(file.toURI().toString()); 
            imgPerfil = new ImageView(image);

                                                                                                       System.out.println("height:"+image.getHeight()+"\nWidth:"+image.getWidth());
           imgPerfil.setImage(image);
           System.out.println(imgPerfil.isVisible());
    }
    else
    {
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setTitle("Information Dialog");
        alert.setHeaderText("Please Select a File");
    /*alert.setContentText("You didn't select a file!");*/
        alert.showAndWait();
    }


}
    
asked by JHG 28.12.2018 в 18:46
source

1 answer

-1

Try doing it this way:

byte[] btImagen = Files.readAllBytes(file.toPath());
Image img = new Image(new ByteArrayInputStream(btImagen), 199, 199, false, false);
imgPerfil.setImage(img);
    
answered by 29.12.2018 в 19:59