永发信息网

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

答案:2  悬赏:70  手机版
解决时间 2021-04-05 08:41
  • 提问者网友:蓝莓格格巫
  • 2021-04-04 17:29
javafx怎么移动图片,就是把一个图片放进去,你按左方向键就往左移动,按右方向键就往右移动
最佳答案
  • 五星知识达人网友:狂恋
  • 2021-04-04 17:58
主要思路:
JavaFX 显示图片,常用的是ImageView

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


参考代码
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);
}
});
}
}
全部回答
  • 1楼网友:时间的尘埃
  • 2021-04-04 19:29
把图片做成一个模块,左右按键加监听即可
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯