當前位置: 首頁>>代碼示例>>Java>>正文


Java DragEvent.getDragboard方法代碼示例

本文整理匯總了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();
}
 
開發者ID:michaelnetter,項目名稱:dracoon-dropzone,代碼行數:21,代碼來源:DropzonePopOverUI.java

示例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);
    }
}
 
開發者ID:Khromium,項目名稱:MakeSourceList4j,代碼行數:22,代碼來源:Controller.java

示例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();
}
 
開發者ID:LtubSalad,項目名稱:voogasalad-ltub,代碼行數:25,代碼來源:ScreenObjectHolder.java

示例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);
}
 
開發者ID:JavaSaBr,項目名稱:jmonkeybuilder,代碼行數:19,代碼來源:ResourcePropertyEditorControl.java

示例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();
}
 
開發者ID:JavaSaBr,項目名稱:jmonkeybuilder,代碼行數:23,代碼來源:ResourcePropertyEditorControl.java

示例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());
}
 
開發者ID:JavaSaBr,項目名稱:jmonkeybuilder,代碼行數:24,代碼來源:MaterialPropertyControl.java

示例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();
}
 
開發者ID:JavaSaBr,項目名稱:jmonkeybuilder,代碼行數:28,代碼來源:MaterialPropertyControl.java

示例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();
}
 
開發者ID:travelimg,項目名稱:travelimg,代碼行數:22,代碼來源:SlideDivider.java

示例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();
	}
}
 
開發者ID:andy-goryachev,項目名稱:ReqTraq,代碼行數:19,代碼來源:TreeTableHandler.java

示例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();
    }
}
 
開發者ID:bkusche,項目名稱:bktail2,代碼行數:19,代碼來源:TabbedMainController.java

示例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();
        }
    }
}
 
開發者ID:ThomasDaheim,項目名稱:GPXEditor,代碼行數:22,代碼來源:GPXTreeTableView.java

示例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());
				}
			}
		}
	}
}
 
開發者ID:exch-bms2,項目名稱:beatoraja,代碼行數:21,代碼來源:PlayConfigurationView.java

示例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);
    }
  }
}
 
開發者ID:adakitesystems,項目名稱:DropLauncher,代碼行數:25,代碼來源:View.java

示例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);
        });
    }
}
 
開發者ID:huliqing,項目名稱:LuoYing,代碼行數:24,代碼來源:JfxSceneEdit.java

示例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();
        }
    }
}
 
開發者ID:F8LEFT,項目名稱:FApkSigner,代碼行數:14,代碼來源:Controller.java


注:本文中的javafx.scene.input.DragEvent.getDragboard方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。