idea用javafx怎么插入图片

按照网上对javafx的讲解写代码,实在改不出来了,不知道为什么图片加载不了,没有报错,但是窗口是白色的,什么都没有

package demo;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;


public class fx5 extends Application {
    public static void main(String[] args) {
        launch(args);
    }
    @Override
    public void start(Stage primaryStage) throws Exception {
        AnchorPane root = new AnchorPane();
        ImageView imageView = new ImageView();
        Image image = new Image("resource/110.jpg");
        imageView.setImage(image);

        root.getChildren().add(imageView);
        Scene scene = new Scene(root, 1000, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

如图所示关于图片存放:

img

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7726975
  • 除此之外, 这篇博客: 用JavaFX写个俄罗斯方块中的 一个游戏逻辑类 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 随机形状、移动、消行、算分等都在这个类里边实现。这个类里边不涉及UI元素,纯粹游戏逻辑。

    比如消行部分的逻辑实现:

    	private void removeRows() {
    		if (preview != null) {
    			for (var row = 0; row < preview.getHeight(); row++) {
    				for (var col = 0; col < preview.getWidth(); col++) {
    					if (preview.getCell(row, col)) {
    						var cell = boardData[preview.getTop() + row][preview.getLeft() + col];
    						cell.visable = true;
    						cell.color = preview.color;
    					}
    				}
    			}
    		}
    		preview = null;
    
    		int removeCount = 0;
    		for (int row = 0; row < 20; row++) {
    			boolean b = true;
    			for (int col = 0; col < 10; col++) {
    				var cube = boardData[row][col].visable;
    				b = b && cube;
    			}
    
    			if (b) {
    				removed++;
    				removeCount++;
    				for (int ui = row - 1; ui >= 0; ui--) {
    					for (int uj = 0; uj < 10; uj++) {
    						var pre = boardData[ui][uj];
    						boardData[ui + 1][uj].visable = pre.visable;
    						boardData[ui + 1][uj].color = pre.color;
    					}
    				}
    			}
    		}
    
    		var tempScore = 0;
    		if (removeCount == 1)
    			tempScore += 100;
    		if (removeCount == 2)
    			tempScore += 200;
    		if (removeCount == 3)
    			tempScore += 400;
    		if (removeCount == 4)
    			tempScore += 400;
    
    		score += tempScore;
    		levelScore += tempScore;
    
    		if (levelScore >= 2000) {
    			if (level < 12) {
    				level++;
    				ticks = 1065 - level * 65;
    			} else
    				level = 1;
    
    			levelScore = 0;
    		}
    	}
  • 以下回答由chatgpt基于相关博客总结生成:

    对于在使用IDEA开发JavaFX应用程序中插入图片的问题,通常需要注意以下几点:

    1.图片的文件路径在项目的resources文件夹下,必须使用相对路径 2.文件名区分大小写,例如"xxx.png"与"xxx.PNG"是不同的文件名 3.图片文件格式必须是JavaFX支持的格式,例如".jpg", ".png"等

    下面是一个简单的示例代码,展示如何在JavaFX中插入图片:

    1.在项目的resources文件夹下创建一个名为"image.png"的图片文件

    2.在fxml文件中使用ImageView标签插入图片,注意设置图片的路径和大小

    <ImageView fitWidth="200" fitHeight="200" >
            <image>
                <Image url="@/image.png"/>
            </image>
        </ImageView>
    

    3.如果是在Java代码中动态插入图片,则需要使用Image类,首先需要创建一个Image对象,然后将其设置为一个ImageView对象的图像源,最后将ImageView添加到场景中即可。

    Image image = new Image(getClass().getResourceAsStream("/image.png"));
    ImageView imageView = new ImageView(image);
    scene.getRoot().getChildren().add(imageView);
    

    如果使用以上方法仍无法加载图片,可以根据错误信息和日志文件进一步排查问题。

图片路径地址没找到吧