Изображения, импортированные в конструктор сцен, не отображаются при выполнении в netbeans

Все функции работают нормально, кроме этого изображения. Но в конструкторе сцен предварительный просмотр работает нормально. Может ли кто-нибудь помочь в этом??


person Deepak Prabhu    schedule 01.02.2014    source источник


Ответы (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>

Патрик

person Patrick    schedule 01.02.2014

Я использовал intelliJ, и у меня была точная проблема дважды, вот как с этим справиться:

однажды проблема заключалась в том, что изображения не были в пакете (т.е. были в src без пакета), и как только я сделал пакет и переместил туда изображения, изображения были загружены.

в другой раз проблема была решена путем удаления каталога «out» intelliJ и повторного создания проекта.

person Rima    schedule 13.06.2019

Я столкнулся с двумя случаями для этой проблемы. Во-первых, возможно, у вас нет изображений в папке «resources» в вашем каталоге «src». Во-вторых, если вы это сделаете, то, вероятно, ваша IDE просто еще не прочитала его. Например, если вы используете Eclipse, разверните папку ресурсов в проводнике. Если вашего изображения там нет, щелкните правой кнопкой мыши папку и выберите «Обновить». Вы должны быть в порядке после этого.

person Dimitris Kremezis    schedule 05.08.2018