Kensoft PH
  • Download
    • KenshotApplication
  • Contact
  • About
Java Quiz
No Result
View All Result
Kensoft PH
  • Download
    • KenshotApplication
  • Contact
  • About
Java Quiz
No Result
View All Result
Kensoft PH
No Result
View All Result
Home Java

How to drag an undecorated stage in JavaFX | 100% Best for beginners

July 11, 2021 - Updated on September 29, 2022
in Java
Reading Time: 3 mins read
0
drag an undecorated stage in JavaFX
564
VIEWS
Share on FacebookShare on TwitterShare via Email

Contents

Toggle
  • JavaFX Tutorial
  • How to drag an undecorated stage in JavaFX
  • Mouse Events (Pressed and Dragged)
  • Double Data type should be declared at the global
  • YouTube Video

JavaFX Tutorial

Drag an undecorated stage in JavaFX? You are in the right place to learn more about JavaFX programming. If you are creating a JavaFX application that is undecorated stage or window, you probably ask yourself how can I drag the undecorated window in JavaFX. So, in this tutorial you will learn how to drag an undecorated stage in JavaFX. Keep on reading and let us start learning.

What is exactly needed to drag an undecorated stage in JavaFX. Well, we just need getScene(), getWindow(), getScreenY(), getScreenX(), getSceneX() and Y. So, in my case I am using a Scene Builder to make a window in my JavaFX application and I generated the controller for my FXML. 

How to drag an undecorated stage in JavaFX

To drag an undecorated stage in JavaFX. We need to make a mouse pressed event from your root node or where you want to press the mouse and drag. For me, I am going to use the root node which is the BorderPane layout. Inside the mouse pressed event, we need to get the Scene X and Y. Before that make a double data type at the Global variable so that the other access modifiers can access the double data type.

private double x = 0;
private double y = 0;

To get the scene X and Y inside the mouse event (Mouse pressed).  Simply call the x variable from double data type and call the event variable from the Mouse Event, after doing that simply specify the getSceneX(). Kindly see the example code below.

x = event.getSceneX();
y = event.getSceneY();

By doing that, we are getting the location of the Scene to calculate it in our Mouse Drag Event. To achieve the mouse drag, simply make a mouse dragged event in the Scene Builder if you are using a Scene Builder and make controller again to update your Java Controller. So, inside the mouse dragged event. We also need to access the stage. The easiest way to access the stage is to define and cast the stage inside the mouse event and specify the node to get the scene and window. Like in the code below.

Stage stage = (Stage) borderpane.getScene().getWindow();

After doing that, make a new line and call the variable stage to set the X and Y. Inside the setX() parameter call the variable event and getScreenX() minus the double variable x. For better understanding, please see the code below.

stage.setX(event.getScreenX() - x);
stage.setY(event.getScreenY() - y);

That’s it, you can now drag your undecorated stage in JavaFX. I will provide an example code below for the Mouse Event and the global variable.

Mouse Events (Pressed and Dragged)

@FXML
private void borderpane_dragged(MouseEvent event) {
    Stage stage = (Stage) borderpane.getScene().getWindow();
    stage.setY(event.getScreenY() - y);
    stage.setX(event.getScreenX() - x);
}      

@FXML
private void borderpane_pressed(MouseEvent event) {
    x = event.getSceneX();
    y = event.getSceneY();
}

Double Data type should be declared at the global

private double x = 0;
private double y = 0;

drag an undecorated stage in JavaFX

YouTube Video

YouTube video

Previous Post

How to maximize JavaFX undecorated window | 100% Best for beginners

Next Post

How to get current time in Java | 100% Best for Beginners

KENSOFT

KENSOFT

What’s up! Kent is my name. The name KENSOFT is derived from the words Kent and Software. My programming language of choice is Java

Related tutorials

How to Use the JavaFX Pie Chart 100% For Beginners
Java

How to Use the JavaFX Pie Chart 100% For Beginners

June 12, 2024 - Updated on October 6, 2024
205
How to Connect to an API Using JavaFX
Java

How to Connect to an API Using JavaFX

May 26, 2024 - Updated on September 28, 2024
215
JavaFX SQLite Database CRUD Tutorial
Java

JavaFX SQLite Database CRUD Tutorial | Note Application

May 26, 2024 - Updated on September 28, 2024
587
Next Post
get current time in javafx

How to get current time in Java | 100% Best for Beginners

Get current date in Java

How to get current date in Java | 100% best for beginners

count number of characters in java

Count number of characters in JavaFX | 100% best for beginners

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tools

Multi-platform installer builder

Java profiler

  • Trending
  • Comments
  • Latest
MySQL database using XAMPP

How to connect Java to MySQL database using Xampp server | 100% best for beginners

October 27, 2020 - Updated on January 23, 2023
Failed to automatically set up a JavaFX Platform

Failed to automatically set up a JavaFX Platform SOLVED Apache NetBeans 12.3 | Best way

April 11, 2021 - Updated on July 3, 2022
JavaFX 17

How To install JDK 17 and JavaFX 17 on NetBeans IDE | Best

November 15, 2021 - Updated on December 13, 2021
hide and show password in jPasswordField

JPasswordField in Java Hide or Show Password | 100% best for beginners

April 2, 2021 - Updated on September 21, 2022
Failed to automatically set up a JavaFX Platform

Failed to automatically set up a JavaFX Platform SOLVED Apache NetBeans 12.3 | Best way

3DES in Java and AES in Java

How to use AES and 3DES in Java | 100% best for beginners

JavaFX Splash Screen

How to create JavaFX Splash Screen | 100% best for beginners

set up JavaFX and Scene Builder

How to set up JavaFX and Scene Builder in NetBeans IDE | 100% best for beginners

How to Use the JavaFX Pie Chart 100% For Beginners

How to Use the JavaFX Pie Chart 100% For Beginners

June 12, 2024 - Updated on October 6, 2024
How to Connect to an API Using JavaFX

How to Connect to an API Using JavaFX

May 26, 2024 - Updated on September 28, 2024
JavaFX SQLite Database CRUD Tutorial

JavaFX SQLite Database CRUD Tutorial | Note Application

May 26, 2024 - Updated on September 28, 2024
How to take a screenshot on PC using Kenshot

How to Take a Screenshot on PC Using Kenshot: A Full Guide

January 18, 2024 - Updated on October 6, 2024

Latest Tutorials

How to Use the JavaFX Pie Chart 100% For Beginners

How to Use the JavaFX Pie Chart 100% For Beginners

June 12, 2024 - Updated on October 6, 2024
How to Connect to an API Using JavaFX

How to Connect to an API Using JavaFX

May 26, 2024 - Updated on September 28, 2024
JavaFX SQLite Database CRUD Tutorial

JavaFX SQLite Database CRUD Tutorial | Note Application

May 26, 2024 - Updated on September 28, 2024

Popular Tutorials

  • MySQL database using XAMPP

    How to connect Java to MySQL database using Xampp server | 100% best for beginners

    0 shares
    Share 0 Tweet 0
  • Failed to automatically set up a JavaFX Platform SOLVED Apache NetBeans 12.3 | Best way

    0 shares
    Share 0 Tweet 0
  • How To install JDK 17 and JavaFX 17 on NetBeans IDE | Best

    0 shares
    Share 0 Tweet 0
Facebook Instagram Youtube Github LinkedIn Discord
Kensoft PH

What’s up! I'm Kent. The name KENSOFT is derived from the words Kent and Software. My programming language of choice is Java, which I use to create computer applications. In a company, I created applications and a website.

Categories

Website

Check the status

Privacy Policy

Terms and Condition

Sitemap

Latest Tutorials

How to Use the JavaFX Pie Chart 100% For Beginners

How to Use the JavaFX Pie Chart 100% For Beginners

June 12, 2024 - Updated on October 6, 2024
How to Connect to an API Using JavaFX

How to Connect to an API Using JavaFX

May 26, 2024 - Updated on September 28, 2024
JavaFX SQLite Database CRUD Tutorial

JavaFX SQLite Database CRUD Tutorial | Note Application

May 26, 2024 - Updated on September 28, 2024

© 2024 Made With Love By KENSOFT PH

No Result
View All Result
  • Download
    • Kenshot
  • Contact
  • About
  • Java Quiz

© 2024 Made With Love By KENSOFT PH

This website uses cookies. By continuing to use this website you are giving consent to cookies being used. Visit our Privacy and Cookie Policy.