Si te encuentras con alguna parte que no comprendes puedes dejarnos un comentario y te ayudaremos rápidamente.
Solución:
Simplemente cambie su método setOnMousePressed a esto:
bp.setOnMousePressed(new EventHandler()
@Override
public void handle(MouseEvent event)
xOffset = primaryStage.getX() - event.getScreenX();
yOffset = primaryStage.getY() - event.getScreenY();
);
y su setOnMouseDragged a esto:
bp.setOnMouseDragged(new EventHandler()
@Override
public void handle(MouseEvent event)
primaryStage.setX(event.getScreenX() + xOffset);
primaryStage.setY(event.getScreenY() + yOffset);
);
El @Eeliyaanswer funciona bien. Sin embargo, el código será más corto si usa el siguiente código porque no necesitamos declarar variables.
Necesitamos que setOnMouseDragged
una y otra vez cada vez que setOnMouseDragged
despedido, pero creo que no está causando el problema.
bp.setOnMousePressed(pressEvent ->
bp.setOnMouseDragged(dragEvent ->
primaryStage.setX(dragEvent.getScreenX() - pressEvent.getSceneX());
primaryStage.setY(dragEvent.getScreenY() - pressEvent.getSceneY());
);
);
Espero eso ayude
Te mostramos las comentarios y valoraciones de los lectores
Puedes añadir valor a nuestro contenido tributando tu experiencia en las críticas.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)