0

I am given a sample code for homework and have been given a sample code with the class name ShowImage. In this program, it should create a program and display the image that I choose. However, when I compile it, it give an error and says,

/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=55770:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/johnnytran98/.m2/repository/org/openjfx/javafx-controls/11.0.2/javafx-controls-11.0.2.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-graphics/11.0.2/javafx-graphics-11.0.2.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-base/11.0.2/javafx-base-11.0.2.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-fxml/11.0.2/javafx-fxml-11.0.2.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-web/11.0.2/javafx-web-11.0.2.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-media/11.0.2/javafx-media-11.0.2.jar -p /Users/johnnytran98/.m2/repository/org/openjfx/javafx-base/11.0.2/javafx-base-11.0.2-mac.jar:/Users/johnnytran98/.m2/repository/org/kordamp/ikonli/ikonli-core/12.2.0/ikonli-core-12.2.0.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-graphics/11.0.2/javafx-graphics-11.0.2-mac.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-media/11.0.2/javafx-media-11.0.2-mac.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-controls/11.0.2/javafx-controls-11.0.2-mac.jar:/Users/johnnytran98/.m2/repository/org/kordamp/ikonli/ikonli-javafx/12.2.0/ikonli-javafx-12.2.0.jar:/Users/johnnytran98/.m2/repository/org/kordamp/bootstrapfx/bootstrapfx-core/0.4.0/bootstrapfx-core-0.4.0.jar:/Users/johnnytran98/.m2/repository/org/controlsfx/controlsfx/11.1.0/controlsfx-11.1.0.jar:/Users/johnnytran98/.m2/repository/com/dlsc/formsfx/formsfx-core/11.3.2/formsfx-core-11.3.2.jar:/Users/johnnytran98/.m2/repository/eu/hansolo/tilesfx/11.48/tilesfx-11.48.jar:/Users/johnnytran98/IdeaProjects/demo/demo1/ShowImage/target/classes:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-fxml/11.0.2/javafx-fxml-11.0.2-mac.jar:/Users/johnnytran98/.m2/repository/net/synedra/validatorfx/0.1.13/validatorfx-0.1.13.jar:/Users/johnnytran98/.m2/repository/org/openjfx/javafx-web/11.0.2/javafx-web-11.0.2-mac.jar -m com.example.showimage/com.example.showimage.ShowImage
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
    at javafx.graphics/javafx.scene.image.Image.validateUrl(Image.java:1107)
    at javafx.graphics/javafx.scene.image.Image.<init>(Image.java:617)
    at com.example.showimage/com.example.showimage.ShowImage.start(ShowImage.java:17)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
    at javafx.graphics/javafx.scene.image.Image.validateUrl(Image.java:1099)
    ... 8 more
Exception running application com.example.showimage.ShowImage

Process finished with exit code 1

Why is there an error here? How do i fix solve this error? I have intelliJ ultimate. The code for the program is:

package com.example.showimage;

import javafx.application.Application;
import javafx.scene.Scene;    
import javafx.scene.layout.HBox;    
import javafx.scene.layout.Pane;
import javafx.geometry.Insets;    
import javafx.stage.Stage;    
import javafx.scene.image.Image;    
import javafx.scene.image.ImageView;
    
public class ShowImage extends Application {

    @Override // Override the start method in the Application class    
    public void start(Stage primaryStage) {    
        // Create a pane to hold the image views    
        Pane pane = new HBox(10);    
        pane.setPadding(new Insets(5, 5, 5, 5));

        Image image = new Image("image/us.gif");    
        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);

        // Create a scene and place it in the stage    
        Scene scene = new Scene(pane);    
        primaryStage.setTitle("ShowImage"); // Set the stage title    
        primaryStage.setScene(scene); // Place the scene in the stage    
        primaryStage.show(); // Display the stage
    }

    /**
     * The main method is only needed for the IDE with limited
     * JavaFX support. Not needed for running from the command line.
     */
    public static void main(String[] args) {
        launch(args);
    }
}
jewelsea
  • 141,332
  • 12
  • 351
  • 391

0 Answers0