提问者:小点点

在场景生成器中导入的图像在netbean中执行时不会显示


除了这个图像显示之外,所有功能都运行良好。但是在场景生成器中预览它的工作正常。有人能帮忙吗??


共3个答案

匿名用户

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

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

这里有一个小代码: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中没有包),一旦我制作了一个包并将图片移动到那里,图像就被加载了。

另一次,通过删除intelliJ的“out”目录并再次构建项目来解决问题。

匿名用户

对于这个问题,我遇到了两种情况。一种是,也许你的“src”目录中的“重新编码”文件夹中没有你的图像。第二,如果你有,那么可能你的IDE还没有阅读它。例如,如果你正在使用Eclipse,在文件资源管理器上展开你的重新编码文件夹。如果你的图像不在那里,那么右键单击文件夹并选择刷新。之后你应该没事。