java - JavaFX用鼠标画线
问题描述
我正在尝试绘制一条线,起点是按下鼠标时的起点,并且在拖动鼠标时它会继续绘制线,直到释放鼠标。我正在尝试制作类似 MS Paint 的东西。
尽管代码从程序的中心开始并在两个方向上画线,但它的作用是什么。
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();
Line l1 = new Line();
root.addEventHandler(MouseEvent.ANY, event ->{
if(event.getEventType() == MouseEvent.MOUSE_PRESSED) {
firstX = event.getX();
firstY = event.getY();
l1.setStartX(firstX);
l1.setStartY(firstY);
} if (event.getEventType() == MouseEvent.MOUSE_DRAGGED) {
double deltaX = event.getX();
double deltaY = event.getY();
l1.setEndX(deltaX);
l1.setEndY(deltaY);
} if (event.getEventType() == MouseEvent.MOUSE_RELEASED) {
endX = event.getX();
endY = event.getY();
l1.setEndX(endX);
l1.setEndY(endY);
}
});
root.setCenter(l1);
Scene scene = new Scene(root, 300, 300);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
解决方案
推荐阅读
- ada - 在 Spark 中证明 Floor_Log2
- python - 根据同一列中的连续重复值合并特定行
- html - 溢出剪辑,其余内容可见
- ios - 如何访问 AppStore Connect 中的“协议、税务和银行业务”?
- post - 用于获取访问令牌的 ADFS 身份验证代码
- mysql - 使用 perl cgi 更新 db 行
- rust - 有没有办法关闭`tokio::runtime::current_thread::Runtime`?
- ios - Apple Watch 简单的“模块化大型”并发症不会显示在自定义屏幕中,除非我也启用所有其他并发症
- git - 为 Azure Devops 中托管的 git 存储库指定部署密钥
- firefox - sqlite 选择请求不获取 moz_place