javafx图片显示不出来
1个回答
展开全部
new 了一个新的ImageView对象出来, 并且这个新的ImageView 没有添加到界面上...就孤立的在方法块里. 如果要想产生效果,需要使用的是界面里的ImageView对象
参考代码
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class JavaFXDemo extends Application {
ImageView mv=new ImageView();//初始化ImageView对象
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane root = new AnchorPane();
root.getChildren().add(mv);//添加到窗格
root.setOnMouseClicked(e->{
//mv=new ImageView();//这里不能new,得使用前面定义的ImageView对象
Image img=new Image(this.getClass().getResource("bg.jpg").toExternalForm(),true);
// 我在本类的包里有一个bg.jpg图片
mv.setImage(img);
});
Scene scene = new Scene(root, 360, 260);
primaryStage.setTitle("测试");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
效果图
其他建议: 路径不推荐使用含有中文的路径,, 我看你的路径是 F:\java笔记\test\...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询