Все функции работают нормально, кроме этого изображения. Но в конструкторе сцен предварительный просмотр работает нормально. Может ли кто-нибудь помочь в этом??
Изображения, импортированные в конструктор сцен, не отображаются при выполнении в netbeans
Ответы (3)
возможно, вы связали изображения из-за пределов каталога проекта, я сделал небольшой и простой пример, который работает довольно хорошо.
Поместите свое изображение в тот же пакет, куда вы поместили файл fxml, и снова свяжите его в Конструкторе сцен с новым местоположением.
Вот небольшой код: App.java
package com.example.images;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class App extends Application{
@Override
public void start(Stage stage) throws Exception {
Parent parent = FXMLLoader.load(getClass().getResource("images.fxml"));
stage.setTitle("Image set in Scene Builder");
Scene scene = new Scene(parent);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
И файл fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" fx:id="mainPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="com.example.images.controller.MainController">
<children>
<ImageView fitHeight="337.875" fitWidth="540.6" layoutX="14.0" layoutY="14.0" pickOnBounds="true" preserveRatio="true">
<effect>
<Lighting surfaceScale="5.0">
<bumpInput>
<Shadow />
</bumpInput>
<light>
<javafx.scene.effect.Light.Distant azimuth="-135.0" />
</light>
</Lighting>
</effect>
<image>
<Image url="@1.png" backgroundLoading="true" />
</image>
</ImageView>
</children>
</AnchorPane>
Патрик
Я использовал intelliJ, и у меня была точная проблема дважды, вот как с этим справиться:
однажды проблема заключалась в том, что изображения не были в пакете (т.е. были в src без пакета), и как только я сделал пакет и переместил туда изображения, изображения были загружены.
в другой раз проблема была решена путем удаления каталога «out» intelliJ и повторного создания проекта.
Я столкнулся с двумя случаями для этой проблемы. Во-первых, возможно, у вас нет изображений в папке «resources» в вашем каталоге «src». Во-вторых, если вы это сделаете, то, вероятно, ваша IDE просто еще не прочитала его. Например, если вы используете Eclipse, разверните папку ресурсов в проводнике. Если вашего изображения там нет, щелкните правой кнопкой мыши папку и выберите «Обновить». Вы должны быть в порядке после этого.