当前位置: 首页 > 知识库问答 >
问题:

通过FXML的JavaFX ImageView不工作

司健柏
2023-03-14

我在FXML上使用imageview加载图像时遇到问题。

我的控制器类:

public class BoxViewController {
    @FXML
    private Label label_boxID;

    @FXML
    private ImageView boximage;

    public void initData(ObservableList<BoxProperty> observableList,
                         BoxService sBox, 
                         TableView tableview) {
        this.label_boxID.setText(
            String.valueOf(this.boxproperty.getPboxid()));

        Image image = new Image("boximage.jpg");
        this.boximage = new ImageView();
        this.boximage.setImage(image);
    }
}
 <ImageView fx:id="boximage" 
            disable="false" 
            fitHeight="150.0" fitWidth="200.0"
            layoutX="69.0" layoutY="322.0" 
            pickOnBounds="true" 
            preserveRatio="true" />

共有1个答案

解博明
2023-03-14

可能是源图像定位问题。根据“Maxim”网站的评论,如果您使用新图像(“boximage.jpg”);,根目录是主项目文件夹,例如对于scene.getStylesheets().add(“login.css”);根文件夹是src。也许你可以试试这个:

Image img = new Image("file:boximage.jpg");
ImageView imageView = new ImageView(img);

尝试将源图像移动到此代码的主项目文件夹

仅出于测试目的,尝试从fxml加载该图像:

<ImageView id="boxImage" ...>    
   <image>
      <Image url="@boximage.jpg" />
   </image>
</ImageView>
 类似资料:
  • 寻找语法添加一个与键- 等

  • 我开始探索JavaFX FXML应用程序技术。 null 并且两者具有相同的event。TextFields是用于登录/注册用户名的字段。 我的目标是将TextField中的值复制到场景中的值。使用上面的代码可以很好地工作。然而,首先,我尝试用以下方法访问另一个场景中的元素: 而且是错误的。确切地说,是。 为什么有些元素是用方法找到的,而不是用注释找到的?

  • 我有一个Spring Boot应用程序,当它以经典的方式连接到Oracle实例时,它可以很顺利地工作: 但是,当我通过存储在本地驱动器“C:\Oracle\Client11g\Network\Admin”中的TNSnames.ora转到tns连接时,有些东西不起作用,我会得到以下异常: 下面是我的application.properties+application-oracleprod.prope

  • 问题内容: 我需要通过控制器中的代码关闭当前的fxml窗口 我知道stage.close()或stage.hide()在fx中做到这一点 如何在fxml中实现呢?我试过了 但这不起作用! 所有帮助将不胜感激。谢谢! 问题答案: 如果您还没有关闭按钮,请给它一个fx:id: 在您的控制器类中:

  • 我第一次尝试使用JavaFx与Maven。通过这个主题:链接IntelliJ不能识别JavaFX 11与OpenJDK 11,我配置的项目。但是无论我做什么,我都不能加载fxml文件,因为"getClass(). getResources(path)"返回null。 我更改了路径,以“/”开头,没有,更改了包,创建了包,删除了包,更改了模块信息中的引用,但这不起作用。 结构:https://ibb

  • 问题是,当我试图通过unicode对消息做出反应时,它似乎不能按以下方式工作: 它会抛出一个错误,说明在运行时找不到表情符号,尽管这是我想发送的表情符号的相应unicode。 我试图在字符串中使用或,但它也不起作用。