JavaFX 导入图像和图形

标签 java javafx

我对 Java 很陌生,我正在使用 Netbeans 程序。我对如何导入图像甚至使用图形绘制图像感到非常困惑。我已经设置了场景,并且想要在屏幕上导入多个图像,但我陷入了将图像放入场景的第一步。任何关于如何使图形工作的建议都是一个很好的开始。

package spaceinvaders;

import java.util.Scanner;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

/**
 *
 * @author Twissted
 */

public class SpaceInvaders extends Application {

@Override
public void start ( Stage stage ) throws Exception {

    Pane root = new Pane ();
    Scene scene = new Scene ( root, 500, 500, Color.BLACK );
    stage.setTitle ( "Space Invaders" );
    stage.setScene ( scene );




    System.out.println ( "Please enter how many rows of aliens you wish to encounter: " );
    int r1;
    Scanner keyboard = new Scanner ( System.in );
    r1 = keyboard.nextInt ();


    stage.show ();

}



public static void main (String [] args ) {
    launch ( args );
}

}

我知道这可能非常简单,我很擅长编程部分,但即使在互联网搜索之后我也无法弄清楚如何让该程序的图形部分工作。

最佳答案

您可以创建一个 ImageView 并将其添加到您的 Pane 中。移动其 LayoutXLayoutY 属性以将其放置在屏幕上。在示例中,文件 sprite.png 必须与类位于同一包空间中。确保以正确的方式打包。

ObservableList<Node> children = pane.getChildren();
ImageView sprite = new ImageView(getClass().getResource("sprite.png").toString());
 children.add(sprite);
 sprite.setLayoutX(300d);
 sprite.setLayoutY(20d);

我还是建议你使用FXGL不过。

关于JavaFX 导入图像和图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50456348/

相关文章:

java - 第 1 行 : Can't create database 'mgsv' ; database exists 处出现错误 1007 (HY000)

css - JavaFX SetText CSS 选项

java - Eclipse 未检测到主方法 javafx

JavaFX 场景生成器菜单对象不可拖动

JavaFx 事件参数类型不匹配

java - Spring RestTemplate - 登录请求有时会挂起等待响应

java - JTable 设置特定单元格不可编辑?

java - 缩小引用转换

java - 关于 Spring Transaction 配置和传播的查询

java - 通过 TableView 更新值时出现 ClassCast 异常