old*_*era 2 javafx image imageview
我已经使用scenebuilder为javafx构建了我的应用程序.我有一个人必须上传图像的表格.我用过这段代码
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);
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
photoChooser method is called
A:\images\fb\status\asd.jpg
Can't upload image java.lang.IllegalArgumentException: Invalid URL: unknown protocol: a
Image期望URL而不是文件路径的构造函数.因此,如果字符串中有":",那么到目前为止的所有内容都被解释为协议(通常是类似的http,file或者ftp).
你必须改变这条线
String img = file.toString();
Run Code Online (Sandbox Code Playgroud)
至
String img = file.toURI().toURL().toExternalForm();
Run Code Online (Sandbox Code Playgroud)
这将在转换为字符串之前从文件中获取URL.我首先转换为URI,因为File.toURL已弃用,这是建议的"解决方法".
| 归档时间: |
|
| 查看次数: |
1946 次 |
| 最近记录: |