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

Javafx与String filepath

姜良哲
2023-03-14
>Flappybird
   >Src
      >main
      >sprite
   >resources
      >images
         >bird1
public void resizeImage(String filepath, int width, int height) {
        Image toReturn = new Image(filepath, width, height, false, false);
        setImage(toReturn);
    }

-它被调用了

public Bird() {
        bird = new Sprite();
        bird.resizeImage("FlappyBirds/resources/images/bird1.png", BIRD_WIDTH, BIRD_HEIGHT);
        bird.setPositionXY(locationX, locationY);
        setFlightAnimation();
    }

共有1个答案

翟单弓
2023-03-14

根据您提供的项目结构,您在“flappybirds”中有一个错别字-B不是大写字母,也不是复数。

但是,与其直接提供绝对路径,不如尝试以下操作:

Path path = Paths.get("").toAbsolutePath();

您可以将其保存为全局变量;现在在bird构造函数中

bird.resizeImage(path + "/resources/images/bird1.png", BIRD_WIDTH, BIRD_HEIGHT);
 类似资料:
  • 每个fxml文件都分配了一个控制器,但我不认为这个控制器是MVC模式所说的控制器。我把它看作是某种ViewController,它保存对fxml对象(按钮、窗格等)的引用。 我的问题是:这个“ViewController”和真正的“Controller”之间的区别到底在哪里。什么对象应该做什么事情?在哪里设置ActionListeners?

  • JavaFX Scene Builder没有正确地集成到IntelliJ IDE中。我让它在我的Windows7电脑上工作,但在我的mac电脑上,它给我带来了问题。首先,当我指定JavaFX场景构建器到/applications/scenbuilder/的路径时,它不会在IDE中显示场景。其次,当scene builder独立启动并修改intelliJ项目中的.xml文件时,生成的所有.xml在i

  • 我使用Swing和JavaFX将图像呈现到屏幕上,但得到了意想不到的时间:目标只是在组件上的随机位置呈现1,000,000个图像。为什么JavaFX花了这么长时间? 结果:摆动2.5秒。JavaFX 8.5秒。下面的代码。 在JavaFX中。 用了8.230974466秒 JAVAFX花费了0.02173174秒@10,000个映像,第二次运行花费了0.018200605秒 SWING用了0.13

  • 如果我有一个使用FXML的JavaFX项目,我将如何构造它以遵守模型-视图-控制器模式?这就是我所假定的一般结构如下所示: 模型-基础程序(GUI表示的内容)。 视图-FXML文件。 控制器-FXML控制器。 问题摘要(请阅读全文): 如何构造JavaFX项目(它使用FXML来遵循MVC模式)?视图应该是FXML控制器类,然后我应该有一个主控制器类,以便FXML控制器从模型获取信息,主控制器处理操

  • 我是一个Java/JavaFX程序员新手,我正在开发一个简单的JavaFX建筑设计工具,在这个工具中,您可以画出墙壁、地板等,因此对象(主要是线、圆、多边形、矩形图像)是在屏幕上绘制和创建的,而不是在运行之前创建的。

  • 我在Eclipse中创建了一个JavaFx8 Maven项目。我已经将我的fxml文件放在/src/main/resources/fxml/中。我可以使用FXMLLoader从java文件中加载fxml。但是,我无法使用SceneBuilder从Fxml文件中选择controller类。 告诉JavaFX Scene Builder在哪里寻找控制器类