List of usage examples for javafx.scene Scene setOnDragDropped
public final void setOnDragDropped(EventHandler<? super DragEvent> value)
From source file:Main.java
@Override public void start(Stage primaryStage) { Group root = new Group(); Scene scene = new Scene(root, 551, 400); scene.setOnDragOver(new EventHandler<DragEvent>() { @Override//w w w .j a v a2 s.c o m public void handle(DragEvent event) { Dragboard db = event.getDragboard(); if (db.hasFiles()) { event.acceptTransferModes(TransferMode.COPY); } else { event.consume(); } } }); // Dropping over surface scene.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles()) { success = true; String filePath = null; for (File file : db.getFiles()) { filePath = file.getAbsolutePath(); System.out.println(filePath); } } event.setDropCompleted(success); event.consume(); } }); primaryStage.setScene(scene); primaryStage.show(); }
From source file:de.pixida.logtest.designer.MainWindow.java
private void initDragAndDropForRootScene(final Scene scene) { scene.setOnDragOver(event -> {//from ww w . ja v a 2s. c om final Dragboard db = event.getDragboard(); if (db.hasFiles()) { event.acceptTransferModes(TransferMode.COPY); } else { event.consume(); } }); scene.setOnDragDropped(event -> { final Dragboard db = event.getDragboard(); boolean success = false; if (db.hasFiles()) { success = true; for (final File file : db.getFiles()) { final Type guess = this.guessTypeOfFile(file); if (guess != null) { this.handleLoadDocument(guess, file); } else { ; // Unrecognized files are currently ignored } } } event.setDropCompleted(success); event.consume(); }); }
From source file:eu.over9000.skadi.ui.MainWindow.java
@Override public void start(final Stage stage) throws Exception { this.stage = stage; this.detailPane = new ChannelDetailPane(this); this.bp = new BorderPane(); this.sp = new SplitPane(); this.sb = new StatusBar(); this.setupTable(); this.setupToolbar(stage); this.sp.getItems().add(this.table); this.bp.setTop(this.tb); this.bp.setCenter(this.sp); this.bp.setBottom(this.sb); final Scene scene = new Scene(this.bp, 1280, 720); scene.getStylesheets().add(this.getClass().getResource("/styles/copyable-label.css").toExternalForm()); scene.setOnDragOver(event -> {//from ww w. ja v a2 s . c om final Dragboard d = event.getDragboard(); if (d.hasUrl() || d.hasString()) { event.acceptTransferModes(TransferMode.COPY); } else { event.consume(); } }); scene.setOnDragDropped(event -> { final Dragboard d = event.getDragboard(); boolean success = false; if (d.hasUrl()) { final String user = StringUtil.extractUsernameFromURL(d.getUrl()); if (user != null) { success = this.channelHandler.addChannel(user, this.sb); } else { this.sb.setText("dragged url is no twitch stream"); } } else if (d.hasString()) { success = this.channelHandler.addChannel(d.getString(), this.sb); } event.setDropCompleted(success); event.consume(); }); stage.setTitle("Skadi"); stage.getIcons().add(new Image(this.getClass().getResourceAsStream("/icons/skadi.png"))); stage.setScene(scene); stage.show(); stage.iconifiedProperty().addListener((obs, oldV, newV) -> { if (this.currentState.isMinimizeToTray()) { if (newV) { stage.hide(); } } }); stage.setOnCloseRequest(event -> Platform.exit()); this.bindColumnWidths(); }
From source file:AudioPlayer3.java
private void initSceneDragAndDrop(Scene scene) { scene.setOnDragOver(new EventHandler<DragEvent>() { @Override//from w ww . ja v a 2s.c om public void handle(DragEvent event) { Dragboard db = event.getDragboard(); if (db.hasFiles() || db.hasUrl()) { event.acceptTransferModes(TransferMode.ANY); } event.consume(); } }); scene.setOnDragDropped(new EventHandler<DragEvent>() { @Override public void handle(DragEvent event) { Dragboard db = event.getDragboard(); String url = null; if (db.hasFiles()) { url = db.getFiles().get(0).toURI().toString(); } else if (db.hasUrl()) { url = db.getUrl(); } if (url != null) { songModel.setURL(url); songModel.getMediaPlayer().play(); } event.setDropCompleted(url != null); event.consume(); } }); }