在netbeans中执行时,在场景构建器中导入的图像不会显示

时间:2014-02-01 11:59:45

标签: javafx scenebuilder

除了此图像显示外,所有功能都正常工作。但在场景构建器预览中它的工作正常。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:10)

也许你链接了项目目录之外的图片,我做了一个小而简单的例子,效果很好。

将图像放入相同的包中,放置fxml文件并在Scene Builder中将其再次链接到新位置。

enter image description here

这是一个小代码: 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>

帕特里克

答案 1 :(得分:1)

这个问题我遇到了两种情况。一种可能是您的“ src”目录中的“ recources”文件夹中没有图像。第二,如果您这样做,则可能是您的IDE尚未读过。例如,如果您使用的是Eclipse,请在“文件资源管理器”上展开“ recouces”文件夹。如果您的图像不在其中,请右键单击该文件夹,然后选择刷新。那之后你应该没事的。

答案 2 :(得分:0)

我正在使用intelliJ,并且两次遇到了确切的问题,下面是如何处理它:

有一次解决方案是图像不在包装中(即src中没有包装),一旦我制作了一个包装并将照片移到那里,就加载了图像。

另一次解决该问题的方法是删除intelliJ的“ out”目录,然后再次构建该项目。