javafx 图片作按钮_javafx怎么移动图片,就是把一个图片放进去,你按左方向键就往左移动,按右方向键就往右移动...

展开全部

主要思路:

JavaFX 显示图片,常用的是ImageView

JavaFX 响应 左右按钮, 那么可以用Scene 来接收62616964757a686964616fe58685e5aeb931333365656635键盘按下的事件,然后控制图片左右移动

显示的效果图

d528f88f880bc1caa2e5f7b8a1596060.gif

参考代码import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.image.ImageView;

import javafx.scene.input.KeyCode;

import javafx.scene.layout.BorderPane;

import javafx.stage.Stage;

public class JavaFXDemo extends Application {

public static void main(String[] args) {

launch(args);

}

@Override

public void start(Stage primaryStage) throws Exception {

BorderPane root = new BorderPane(); // 边界布局

Scene scene = new Scene(root, 530,230);// 创建场景

// 显示图片组件

ImageView imgView = new ImageView(this.getClass().getResource("jbp.png").toExternalForm());

root.setCenter(imgView);

// 主舞台的设置

primaryStage.setScene(scene);

primaryStage.setTitle("拖动图片");

primaryStage.show();

// 响应键盘按下事件 ,注意添加对象是scene ,不是 imgView

scene.setOnKeyPressed(e -> {

KeyCode code = e.getCode();

if (code.equals(KeyCode.LEFT)) { // 按下了左键

imgView.setTranslateX(imgView.getTranslateX() - 10);

} else if (code.equals(KeyCode.RIGHT)) {//按下了右键

imgView.setTranslateX(imgView.getTranslateX() + 10);

} else if (code.equals(KeyCode.UP)) {//按下了上方向键

imgView.setTranslateY(imgView.getTranslateY() - 10);

} else if (code.equals(KeyCode.DOWN)) {//按下了下方向键

imgView.setTranslateY(imgView.getTranslateY() + 10);

}

});

}

}


版权声明:本文为weixin_42130889原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。