我在为javafx桌面应用程序添加徽标时遇到问题。收到的错误是“无效的网址:无效的网址或资源未找到”。我检查过这个,但没有这样的错误。
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.*;
import javafx.application.Application;
import javafx.fxml.*;
public class Main extends Application{
public static void main(String[] args) {
Application.launch(args);
}
public void start(Stage primaryStage) {
try {
primaryStage.setTitle("App");
primaryStage.setIconified(true);
primaryStage.getIcons().add(new Image("logo.jpg"));
AnchorPane root=new AnchorPane();
root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
Scene s=new Scene(root, 800, 600);
primaryStage.setScene(s);
primaryStage.show();
}
catch(Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
类Image
有一个带String
参数的构造函数。此参数是图像的 URL 。 "logo.jpg"
不是有效的网址。使用构造函数的InputStream
变体,你会有更好的运气:
primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("logo.jpg")));
(在上面的例子中,logo.jpg
必须与该类在同一个包中;如果不是,则相应地修改路径)