我在代码中插入了一个图像对象。程序编译并运行,但图像不显示。

这是我的密码
package JavaFX;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import java.io.File;
public class ShowImage extends Application {
public void start(Stage primaryStage){
Pane pane = new HBox(10);
pane.setPadding(new Insets(5,5,5,5));
Image image = new Image(new File("image/v2-7c37a26d9dd77abf6de2ca9ca3fc7ae0_720w.jpg").toURI().toString());//remember this must be an url address,
// file should be converted to url
pane.getChildren().add(new ImageView(image));
ImageView imageView2 = new ImageView(image);
imageView2.setFitHeight(100);
imageView2.setFitWidth(100);
pane.getChildren().add(imageView2);
ImageView imageView3 = new ImageView(image);
imageView3.setRotate(90);
pane.getChildren().add(imageView3);
Scene scene = new Scene(pane);
primaryStage.setTitle("ShowImage");
primaryStage.setScene(scene);
primaryStage.show();
}
}编译器不会显示任何错误或警告。
发布于 2022-05-24 08:56:58
您的代码一般都能工作,所以这个问题很可能是图像的问题。
你应该检查errorProperty和exceptionProperty,例如.
if (image.errorProperty().getValue()) {
image.exceptionProperty().getValue().printStackTrace();
}可运行的例子。
import java.io.File;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class App extends Application {
@Override
public void start(Stage stage) {
Pane pane = new HBox(10);
pane.setPadding(new Insets(5, 5, 5, 5));
Image image = new Image(new File("image/v2-7c37a26d9dd77abf6de2ca9ca3fc7ae0_720w.jpg").toURI().toString());//remember this must be an url address,
if (image.errorProperty().getValue()) {
image.exceptionProperty().getValue().printStackTrace();
}
pane.getChildren().add(new ImageView(image));
ImageView imageView2 = new ImageView(image);
imageView2.setFitHeight(100);
imageView2.setFitWidth(100);
pane.getChildren().add(imageView2);
ImageView imageView3 = new ImageView(image);
imageView3.setRotate(90);
pane.getChildren().add(imageView3);
Scene scene = new Scene(pane);
stage.setScene(scene);
stage.sizeToScene();
stage.show();
}
public static void main(String[] args) {
launch();
}
}https://stackoverflow.com/questions/72359401
复制相似问题