通过代码在ImageView中加载图像
我已经使用scenebuilder for javafx构建了我的应用程序。我有一个表格,一个人必须上传一张图片。我用了这个密码通过代码在ImageView中加载图像,image,imageview,javafx,Image,Imageview,Javafx,我已经使用scenebuilder for javafx构建了我的应用程序。我有一个表格,一个人必须上传一张图片。我用了这个密码 public void photoChooser(ActionEvent evt) { System.out.println("photoChooser method is called"); try{ FileChooser fileChooser= new FileChooser(); fileChooser.s
public void photoChooser(ActionEvent evt) {
System.out.println("photoChooser method is called");
try{
FileChooser fileChooser= new FileChooser();
fileChooser.setTitle("Choose a file");
File file = fileChooser.showOpenDialog(stagehere);
if(file != null){
System.out.println(file);
String img = file.toString();
//Image image = new ImageIcon(img);
try{
// image= new Image();
Image image = new Image(img);
} catch (Exception e) {System.out.println("Can't upload image " + e);}
//employeeImage.setImage(image);
try{
// employeeImage.setImage(image);
} catch(Exception e){System.out.println("Can't set the image" + e);}
employeeImage.setFitWidth(150);
employeeImage.setFitHeight(150);
}
我犯了这个错误
photoChooser方法被调用
A:\images\fb\status\asd.jpg
无法上载图像java.lang.IllegalArgumentException:无效URL:未知协议:a
图像的构造函数需要URL而不是文件路径。因此,如果字符串中有“:”,则到该点为止的所有内容都被解释为协议(通常类似于http
、file
或ftp
)
你必须换线
String img = file.toString();
到
这将在转换为字符串之前从文件中获取URL。我首先转换为URI,因为
File.toURL
已被弃用,这是建议的“解决方法”。谢谢。这就是我想要的。请将费边的评论标记为一个可接受的答案,因为它正在发挥作用,这正是你所要求的。
String img = file.toURI().toURL().toExternalForm();