import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import javafx.scene.input.MouseEvent;
public class ResizableApp extends Application {
private double xOffset = 0;
private double yOffset = 0;
@Override
public void start(Stage primaryStage) {
Button resizableButton = new Button("Resizable Button");
resizableButton.getStyleClass().add("resizable-button");
resizableButton.setOnMousePressed((MouseEvent event) -> {
xOffset = event.getSceneX();
yOffset = event.getSceneY();
});
resizableButton.setOnMouseDragged((MouseEvent event) -> {
double xDelta = event.getSceneX() - xOffset;
double yDelta = event.getSceneY() - yOffset;
double newWidth = resizableButton.getWidth() + xDelta;
double newHeight = resizableButton.getHeight() + yDelta;
resizableButton.setPrefSize(newWidth, newHeight);
xOffset = event.getSceneX();
yOffset = event.getSceneY();
});
HBox root = new HBox(resizableButton);
Scene scene = new Scene(root, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}