本文整理匯總了Java中javafx.scene.input.DragEvent.getDragboard方法的典型用法代碼示例。如果您正苦於以下問題:Java DragEvent.getDragboard方法的具體用法?Java DragEvent.getDragboard怎麽用?Java DragEvent.getDragboard使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javafx.scene.input.DragEvent
的用法示例。
在下文中一共展示了DragEvent.getDragboard方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: mouseDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
/**
* Handle mouse drop events
*
* @param e
*/
private void mouseDragDropped(final DragEvent e) {
final Dragboard db = e.getDragboard();
boolean success = false;
if (db.hasFiles()) {
success = true;
boolean ctrlKeyPressed = popOver.isCtrlKeyPressed();
boolean altKeyPressed = popOver.isAltKeyPressed();
popOver.notifyDragEventListener(new DropzoneDragEvent(e, ctrlKeyPressed, altKeyPressed));
}
e.setDropCompleted(success);
e.consume();
}
示例2: handleDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
@FXML
private void handleDropped(DragEvent event) {
// ドラッグボードを取得
Dragboard board = event.getDragboard();
if (board.hasFiles()) {
board.getFiles().stream().forEach((f) -> {
if (f.isDirectory()) {
List<String> filePathList = new ArrayList<>();
getFileRecursion(filePathList, f.getAbsolutePath()).stream().filter(s -> isTextFile(s)).collect(Collectors.toList()).forEach(s -> fileList.getItems().add(new Label(s)));
} else {
if (isTextFile(f.getAbsolutePath()))
fileList.getItems().add(new Label(f.getAbsolutePath()));
}
});
// ドロップ受け入れ
event.setDropCompleted(true);
} else { // ファイル以外なら
// ドロップ受け入れ拒否
event.setDropCompleted(false);
}
}
示例3: targetSetOnDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
private void targetSetOnDragDropped(ScreenMap target, DragEvent e) {
Dragboard db = e.getDragboard();
boolean success = false;
if (e.getDragboard().hasImage()) {
String imageName = db.getString();
Point2D point = target.sceneToLocal(e.getSceneX(), e.getSceneY());
GamePoint gameCoords = new GamePoint(point.getX()/target.getScreenWidth(), point.getY()/target.getScreenHeight());
for (Pair<String, Image> p : myScreenObjects.keySet()) {
String iName = p.getKey();
if (imageName.equals(iName)) {
XStreamHandler xstream = new XStreamHandler();
File tempSpriteFile = new File("data/tempSprites/tempSprite.xml");
xstream.saveToFile(myScreenObjects.get(p), tempSpriteFile);
SpriteMakerModel xmlSprite = (SpriteMakerModel) xstream.getAttributeFromFile(tempSpriteFile);
xmlSprite.addComponent(new Position(gameCoords, 0)); //heading 0 because all sprites default to this
myModel.addBackgroundTile(xmlSprite);
break;
}
}
success = true;
}
e.setDropCompleted(success);
e.consume();
}
示例4: dragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
/**
* Handle dropped files to editor.
*/
@FXThread
private void dragDropped(@NotNull final DragEvent dragEvent) {
final Dragboard dragboard = dragEvent.getDragboard();
final List<File> files = unsafeCast(dragboard.getContent(DataFormat.FILES));
if (files == null || files.size() != 1) {
return;
}
final File file = files.get(0);
if (!canAccept(file)) return;
handleFile(file);
}
示例5: dragOver
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
/**
* Handle drag over.
*/
@FXThread
private void dragOver(@NotNull final DragEvent dragEvent) {
final Dragboard dragboard = dragEvent.getDragboard();
final List<File> files = unsafeCast(dragboard.getContent(DataFormat.FILES));
if (files == null || files.size() != 1) {
return;
}
final File file = files.get(0);
if (!canAccept(file)) return;
final Set<TransferMode> transferModes = dragboard.getTransferModes();
final boolean isCopy = transferModes.contains(TransferMode.COPY);
dragEvent.acceptTransferModes(isCopy ? TransferMode.COPY : TransferMode.MOVE);
dragEvent.consume();
}
示例6: handleDragDroppedEvent
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
/**
* Handle dropped events.
*
* @param dragEvent the dropped event.
*/
@FXThread
private void handleDragDroppedEvent(@NotNull final DragEvent dragEvent) {
final Dragboard dragboard = dragEvent.getDragboard();
final List<File> files = unsafeCast(dragboard.getContent(DataFormat.FILES));
if (files == null || files.size() != 1) {
return;
}
final File file = files.get(0);
if (!file.getName().endsWith(FileExtensions.JME_MATERIAL)) {
return;
}
addMaterial(file.toPath());
}
示例7: handleDragOverEvent
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
/**
* Handle drag over events.
*
* @param dragEvent the drag over event.
*/
@FXThread
private void handleDragOverEvent(@NotNull final DragEvent dragEvent) {
final Dragboard dragboard = dragEvent.getDragboard();
final List<File> files = unsafeCast(dragboard.getContent(DataFormat.FILES));
if (files == null || files.size() != 1) {
return;
}
final File file = files.get(0);
if (!file.getName().endsWith(FileExtensions.JME_MATERIAL)) {
return;
}
final Set<TransferMode> transferModes = dragboard.getTransferModes();
final boolean isCopy = transferModes.contains(TransferMode.COPY);
dragEvent.acceptTransferModes(isCopy ? TransferMode.COPY : TransferMode.MOVE);
dragEvent.consume();
}
示例8: handleDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
private void handleDragDropped(DragEvent event) {
LOGGER.debug("drag dropped");
Dragboard dragboard = event.getDragboard();
boolean success = dragboard.hasString();
if (success) {
try {
int slideId = Integer.parseInt(dragboard.getString());
LOGGER.debug("dropped slide with id {} on divider", slideId);
if (slideDroppedCallback != null) {
slideDroppedCallback.accept(slideId);
}
} catch (NumberFormatException ex) {
success = false;
}
}
event.setDropCompleted(success);
event.consume();
}
示例9: handleRowDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
protected void handleRowDragDropped(TreeTableRow<T> r, DragEvent ev)
{
Dragboard db = ev.getDragboard();
if(isAcceptable(db, r))
{
int ix = (Integer)db.getContent(JAVA_DATA_FORMAT);
TreeItem item = tree.getTreeItem(ix);
item.getParent().getChildren().remove(item);
getTarget(r).getChildren().add(item);
ev.setDropCompleted(true);
tree.getSelectionModel().clearSelection();
tree.getSelectionModel().select(item);
// FIX focus and selection differ after this
ev.consume();
}
}
示例10: mouseDragOver
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
@FXML void mouseDragOver(final DragEvent e) {
final Dragboard db = e.getDragboard();
final boolean isAccepted = db.getFiles().get(0).getName().toLowerCase().endsWith(".log")
|| db.getFiles().get(0).getName().toLowerCase().endsWith(".txt");
if (db.hasFiles()) {
if (isAccepted) {
tabpane.setStyle("-fx-border-color: red;"
+ "-fx-border-width: 5;"
+ "-fx-background-color: #C6C6C6;"
+ "-fx-border-style: solid;");//TODO move to css
e.acceptTransferModes(TransferMode.COPY);
}
} else {
e.consume();
}
}
示例11: onDragOver
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
private void onDragOver(final TreeTableRow<GPXLineItem> row, final DragEvent event) {
Dragboard db = event.getDragboard();
if (db.getContent(SERIALIZED_MIME_TYPE) != null) {
if (!row.isEmpty()) {
event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
event.consume();
}
} else {
if (db.hasFiles()) {
for (File file:db.getFiles()) {
// accept only gpx files
if (GPXEditorWorker.GPX_EXT.equals(FilenameUtils.getExtension(file.getName()).toLowerCase())) {
event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
break;
}
}
} else {
event.consume();
}
}
}
示例12: songPathDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
@FXML
public void songPathDragDropped(final DragEvent ev) {
Dragboard db = ev.getDragboard();
if (db.hasFiles()) {
for (File f : db.getFiles()) {
if (f.isDirectory()) {
boolean unique = true;
for (String path : bmsroot.getItems()) {
if (path.equals(f.getPath()) || f.getPath().startsWith(path + File.separatorChar)) {
unique = false;
break;
}
}
if (unique) {
bmsroot.getItems().add(f.getPath());
}
}
}
}
}
示例13: handle
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
@Override
public void handle(DragEvent event) {
if (event.getEventType() == DragEvent.DRAG_OVER) {
if (event.getDragboard().hasFiles()) {
event.acceptTransferModes(TransferMode.COPY);
}
event.consume();
} else if (event.getEventType() == DragEvent.DRAG_DROPPED) {
boolean isTransferDone = false;
List<File> files = new ArrayList<>();
Dragboard dragBoard = event.getDragboard();
if (dragBoard.hasFiles()) {
isTransferDone = true;
files = dragBoard.getFiles();
}
event.setDropCompleted(isTransferDone);
event.consume();
try {
this.controller.filesDropped(files);
} catch (Exception ex) {
new ExceptionAlert().showAndWait(null, ex);
}
}
}
示例14: onDragDropped
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
@Override
protected void onDragDropped(DragEvent e) {
Dragboard db = e.getDragboard();
if (db.hasContent(DataFormatConstants.COMPONENT_ENTITY)) {
ComponentDefine c = (ComponentDefine) db.getContent(DataFormatConstants.COMPONENT_ENTITY);
e.setDropCompleted(true);
e.consume();
// 當拖動物體到3D場景的時候必須把JFX中的鼠標坐標轉到到JME中的坐標.
// 不能直接用jme場景中獲取鼠標坐標的方式,因為JME是放在awt canvas上的,這時還未獲得焦點,直接用
// JME中的方式獲取鼠標坐標會錯位。
lastDragXPos = e.getX();
lastDragYPos = e.getY();
// 必須隔一幀,即等拖放操作完成執行後再彈窗.
// 這裏不能直接執行CustomDialog,因為當CustomDialog為模態時會鎖住窗口,這會導致當第二次拖放操作時發生:
// Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException:
// Key already associated with a running event loop: [email protected]
Jfx.runOnJfx(() -> {
ComponentManager.createComponent(c, this);
});
}
}
示例15: handle
import javafx.scene.input.DragEvent; //導入方法依賴的package包/類
public void handle(DragEvent event) {
Dragboard dragboard = event.getDragboard();
if (dragboard.hasFiles()){
try {
File file = dragboard.getFiles().get(0);
if (file != null) {
textField.setText(file.getAbsolutePath());
}
}catch (Exception e){
e.printStackTrace();
}
}
}