2020-04-20 13:46:18 +02:00
|
|
|
package ihm;
|
|
|
|
|
2020-04-22 20:42:18 +02:00
|
|
|
|
|
|
|
import javafx.event.EventHandler;
|
2020-04-22 16:56:45 +02:00
|
|
|
import javafx.scene.Parent;
|
2020-04-20 13:46:18 +02:00
|
|
|
import javafx.scene.Scene;
|
2020-04-22 20:42:18 +02:00
|
|
|
import javafx.scene.input.MouseEvent;
|
2020-04-20 13:46:18 +02:00
|
|
|
import javafx.stage.Modality;
|
|
|
|
import javafx.stage.Stage;
|
2020-04-22 20:42:18 +02:00
|
|
|
import javafx.stage.StageStyle;
|
2020-04-20 13:46:18 +02:00
|
|
|
|
2020-04-22 20:42:18 +02:00
|
|
|
public class PopUp{
|
2020-04-20 13:46:18 +02:00
|
|
|
private Scene scene;
|
2020-04-22 20:42:18 +02:00
|
|
|
private Stage popup;
|
|
|
|
|
|
|
|
private double xOffSet = 0;
|
|
|
|
private double yOffSet = 0;
|
2020-04-20 13:46:18 +02:00
|
|
|
|
2020-04-22 16:56:45 +02:00
|
|
|
public PopUp (Parent p, String titre) {
|
2020-04-21 15:23:24 +02:00
|
|
|
|
2020-04-22 20:42:18 +02:00
|
|
|
|
|
|
|
popup = new Stage();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
popup.initModality(Modality.NONE);
|
|
|
|
|
|
|
|
popup.initStyle(StageStyle.UNDECORATED);
|
|
|
|
|
|
|
|
popup.setTitle(titre);
|
2020-04-20 13:46:18 +02:00
|
|
|
|
|
|
|
scene = new Scene(p);
|
2020-04-22 20:42:18 +02:00
|
|
|
|
|
|
|
p.setOnMousePressed(new EventHandler<MouseEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void handle(MouseEvent event){
|
|
|
|
|
|
|
|
xOffSet = event.getSceneX();
|
|
|
|
yOffSet = event.getSceneY();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
p.setOnMouseDragged(new EventHandler<MouseEvent>() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void handle(MouseEvent event){
|
|
|
|
|
|
|
|
popup.setX(event.getScreenX() - xOffSet);
|
|
|
|
popup.setY(event.getScreenY() - yOffSet);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
popup.focusedProperty().addListener((obs,wasFocused,isNowFocused) -> {
|
|
|
|
|
|
|
|
if(!isNowFocused) {
|
|
|
|
popup.hide();
|
|
|
|
}
|
|
|
|
|
2020-04-24 10:09:30 +02:00
|
|
|
});
|
2020-04-20 13:46:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public void display() {
|
2020-04-22 20:42:18 +02:00
|
|
|
|
|
|
|
popup.setScene(scene);
|
|
|
|
|
|
|
|
popup.showAndWait();
|
|
|
|
|
2020-04-24 10:09:30 +02:00
|
|
|
|
2020-04-20 13:46:18 +02:00
|
|
|
}
|
|
|
|
}
|