我正在使用Java SDK1.7.0_45内置的FX库在Eclipse Kepler上开发JavaFX应用程序。我想在场景中显示背景图像。继Java文档中提供的教程,下面的代码应该工作:JavaFX显示器场景背景图像
public class Main extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
GridPane grid = new GridPane();
Scene scene = new Scene(grid, 300, 275);
primaryStage.setScene(scene);
scene.getStylesheets().add(Main.class.getResource("Login.css").toExternalForm());
primaryStage.show();
}
}
我的CSV文件看起来像这样:
.root {
-fx-background-image: url("background.jpg");
}
但我只是得到一个而不是空白屏幕。我在src/application文件夹中有3个文件:background.jpg,Main.java和Login.css。
我已经尝试添加一个反斜杠,将图像放入一个单独的文件夹,提供一个绝对路径,提供几种类型的图像,使用../application/background.jpg,将代码更改为file:background.jpg,直接将URL提供给代码并解除CSS文件,使用imageview代替,但是没有任何效果。
我已经采取了看看其他几个计算器环节,似乎都失败:
- JavaFX How to set scene background image(呈现黑屏)
- Setting background image by javafx code (not css)除外)
- Cannot load image in JavaFX
- 等等。
奇怪的是,当我从服务器提供图像作为超链接时,一切正常。虽然提供到本地文件的路径永远不会工作。我究竟做错了什么?有人可以告诉我如何显示本地图像?这是一个错误?
你说的图像来自超链接,它也是一个.jpg文件吗? – WillBD
.jpg,.png,.gif,作为超链接提供时,所有常用图像格式都会正确显示。我只是不希望计算机依靠互联网连接来显示背景...... –