2014-09-03 4 views
1

Я хочу установить изображение на изображение, выбрав файл из filechooser. Я использовал imageView.setImage (файл), в котором появляется сообщение об ошибке «Файл не может быть преобразован в изображение»Как установить файл (изображение) на imageview

вот мой код:

@FXML 
private AnchorPane mainAnchorpane; 
@FXML 
private ImageView iconimageview; 
private File iconimage; 

@FXML 
public void iconimagebuttonAction(ActionEvent event) { 
    FileChooser filechooser = new FileChooser(); 
    iconimage = filechooser.showOpenDialog(mainAnchorpane.getScene().getWindow()); 
    System.out.println(iconimage.getName()); 
    if (iconimage != null) { 
     String iconimagepath = iconimage.getAbsolutePath(); 
     System.out.println(iconimagepath); 
     iconimageview.setImage(iconimage); 
    } 

} 

ответ

1

Вы не можете установить path непосредственно setImage(). Не существует метода для ImageView, который принимает параметр файла в качестве параметра.

Хотя вы можете достичь того же с помощью конструктора ImageView, который принимает URL в качестве параметра

ImageView imageView = new ImageView(filepath) 

или, создавая Image объект, используя filepath, а затем назначить его на ImageView

imageView.setImage(new Image(filepath)); 
+0

Я использовал конструктор ImageView для добавления изображения. Но я получаю эту ошибку «Причиненный: java.lang.IllegalArgumentException: Недопустимый URL: неизвестный протокол: c \t at javafx.scene.image.Image.validateUrl (Image.java : 1097) \t at javafx.scene.image.Image. (Image.java:598) \t at javafx.scene.image.ImageView. (ImageView.java:164) \t на fileshare_client.fx.pkg1.UploadappUI_1Controller.iconimagebuttonAction (UploadappUI_1Controller.java:355)»Java: 355, который является "ImageView = новый ImageView (iconimage.getAbsolutePath());" –

+0

его потому вам нужно добавить абсолютный путь с 'file:' – ItachiUchiha

+0

это может быть полезно: [Ошибка выполнения IllegalArgumentException при настройке Image javafx] (http://stackoverflow.com/questions/25646263/runtime-error-illegalargumentexception-when-setting- изображения JavaFX) –

Смежные вопросы