Я разрабатываю приложение JavaFX на Eclipse Kepler, используя встроенную библиотеку FX из Java SDK1.7.0_45. Я хочу отобразить фоновое изображение в сцене. Следуя руководству, приведенному в документации Java, следующий код должен работать:
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, используя вместо этого просмотр изображений ... но ничего не работает.
Я взглянул на несколько других ссылок на stackoverflow, все, похоже, не сработали:
- JavaFX Как установить фоновое изображение сцены (отображает пустой экран)
- Установка фонового изображения с помощью кода javafx (не css) исключение)
- Не удается загрузить изображение в JavaFX
- и многое другое.
Странно то, что когда я предоставляю изображение с сервера в виде гиперссылки, все работает нормально. Однако указание пути к локальному файлу никогда не работает. Что я делаю неправильно? Может кто-нибудь показать мне, как отображать локальное изображение? Это ошибка?