javafx.scene.input.DragEvent#acceptTransferModes ( )源码实例Demo

下面列出了javafx.scene.input.DragEvent#acceptTransferModes ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Handle drag over.
 */
@FxThread
private void dragOver(@NotNull DragEvent dragEvent) {

    var dragboard = dragEvent.getDragboard();
    var files = ClassUtils.<List<File>>unsafeCast(dragboard.getContent(DataFormat.FILES));

    if (files == null || files.size() != 1) {
        return;
    }

    var file = files.get(0);
    if (!canAccept(file)) {
        return;
    }

    var transferModes = dragboard.getTransferModes();
    var isCopy = transferModes.contains(TransferMode.COPY);

    dragEvent.acceptTransferModes(isCopy ? TransferMode.COPY : TransferMode.MOVE);
    dragEvent.consume();
}
 
源代码2 项目: jmonkeybuilder   文件: MaterialPropertyControl.java
/**
 * Handle drag over events.
 *
 * @param dragEvent the drag over event.
 */
@FxThread
private void handleDragOverEvent(@NotNull DragEvent dragEvent) {

    var dragboard = dragEvent.getDragboard();
    var files = EditorUtil.getFiles(dragboard);
    if (files.size() != 1) {
        return;
    }

    var file = files.get(0);

    if (!file.getName().endsWith(FileExtensions.JME_MATERIAL)) {
        return;
    }

    var transferModes = dragboard.getTransferModes();
    var isCopy = transferModes.contains(TransferMode.COPY);

    dragEvent.acceptTransferModes(isCopy ? TransferMode.COPY : TransferMode.MOVE);
    dragEvent.consume();
}
 
源代码3 项目: Solitaire   文件: SuitStack.java
private EventHandler<DragEvent> createOnDragOverHandler(final ImageView pView)
{
	return new EventHandler<DragEvent>()
   	{
   	    public void handle(DragEvent pEvent) 
   	    {
   	    	if(pEvent.getGestureSource() != pView && pEvent.getDragboard().hasString())
   	    	{
   	    		CardTransfer transfer = new CardTransfer(pEvent.getDragboard().getString());
   	    		if( transfer.size() == 1 && GameModel.instance().isLegalMove(transfer.getTop(), aIndex) )
   	    		{
   	    			pEvent.acceptTransferModes(TransferMode.MOVE);
   	    		}
   	    	}

   	    	pEvent.consume();
   	    }
   	};
}
 
源代码4 项目: Solitaire   文件: CardPileView.java
private EventHandler<DragEvent> createDragOverHandler(final ImageView pImageView, final Card pCard)
{
	return new EventHandler<DragEvent>()
	{
		@Override
		public void handle(DragEvent pEvent) 
		{
			if(pEvent.getGestureSource() != pImageView && pEvent.getDragboard().hasString())
			{
				CardTransfer transfer = new CardTransfer(pEvent.getDragboard().getString());
				if( GameModel.instance().isLegalMove(transfer.getTop(), aIndex) )
				{
					pEvent.acceptTransferModes(TransferMode.MOVE);
				}
			}
			pEvent.consume();
		}
	};
}
 
源代码5 项目: jace   文件: JaceUIController.java
private void processDragEnteredEvent(DragEvent evt) {
    MediaEntry media = null;
    if (evt.getDragboard().hasFiles()) {
        media = MediaCache.getMediaFromFile(getDraggedFile(evt.getDragboard().getFiles()));
    } else if (evt.getDragboard().hasUrl()) {
        media = MediaCache.getMediaFromUrl(evt.getDragboard().getUrl());
    } else if (evt.getDragboard().hasString()) {
        String path = evt.getDragboard().getString();
        try {
            URI.create(path);
            media = MediaCache.getMediaFromUrl(path);
        } catch (IllegalArgumentException ex) {
            File f = new File(path);
            if (f.exists()) {
                media = MediaCache.getMediaFromFile(f);
            }
        }
    }
    if (media != null) {
        evt.acceptTransferModes(TransferMode.LINK, TransferMode.COPY);
        startDragEvent(media);
    }
}
 
源代码6 项目: ns-usbloader   文件: RcmController.java
/**
 * Drag-n-drop support (dragOver consumer)
 * */
@FXML
private void handleDragOver(DragEvent event){
    if (event.getDragboard().hasFiles())
        event.acceptTransferModes(TransferMode.ANY);
    event.consume();
}
 
源代码7 项目: ns-usbloader   文件: SplitMergeController.java
/**
 * Drag-n-drop support (dragOver consumer)
 * */
@FXML
private void handleDragOver(DragEvent event){
    if (event.getDragboard().hasFiles() && ! MediatorControl.getInstance().getTransferActive())
        event.acceptTransferModes(TransferMode.ANY);
    event.consume();
}
 
源代码8 项目: mzmine3   文件: MZmineGUI.java
/**
 * The method activateSetOnDragOver controlling what happens when something is dragged over.
 * Implemented activateSetOnDragOver to accept when files are dragged over it.
 * @param event - DragEvent
 */
public static void activateSetOnDragOver(DragEvent event){
  Dragboard dragBoard = event.getDragboard();
  if (dragBoard.hasFiles()) {
    event.acceptTransferModes(TransferMode.COPY);
  } else {
    event.consume();
  }
}
 
源代码9 项目: phoebus   文件: DockPane.java
/** Accept dock items */
private void handleDragOver(final DragEvent event)
{
    if (!isFixed()  &&
        DockItem.dragged_item.get() != null)
        event.acceptTransferModes(TransferMode.MOVE);
    event.consume();
}
 
源代码10 项目: phoebus   文件: DockItem.java
/** Accept other items that are dropped onto this one */
private void handleDragOver(final DragEvent event)
{
    // Don't suggest dropping into a 'fixed' pane
    if (getDockPane().isFixed())
        return;

    final DockItem item = dragged_item.get();
    if (item != null  &&  item != this)
        event.acceptTransferModes(TransferMode.MOVE);
    event.consume();
}
 
源代码11 项目: markdown-writer-fx   文件: MarkdownEditorPane.java
private void onDragOver(DragEvent event) {
	// check whether we can accept a drop
	Dragboard db = event.getDragboard();
	if (db.hasString() || db.hasFiles())
		event.acceptTransferModes(TransferMode.COPY);

	// move drag caret to mouse location
	if (event.isAccepted()) {
		CharacterHit hit = textArea.hit(event.getX(), event.getY());
		dragCaret.moveTo(hit.getInsertionIndex());
	}

	event.consume();
}
 
源代码12 项目: Cardshifter   文件: DeckBuilderWindow.java
private void completeDragToActiveDeck(DragEvent event, boolean dropped) {
event.acceptTransferModes(TransferMode.MOVE);
if (dropped) {
	this.addCardToActiveDeck(null, this.cardBeingDragged);
}
event.consume();
}
 
源代码13 项目: pdfsam   文件: SelectionTable.java
private Consumer<DragEvent> onDragOverConsumer() {
    return (DragEvent e) -> e.acceptTransferModes(TransferMode.COPY_OR_MOVE);
}
 
源代码14 项目: mdict-java   文件: SearchBox.java
protected void enterDrag(DragEvent event) {
event.acceptTransferModes(TransferMode.MOVE);
   event.consume();
  }
 
源代码15 项目: Recaf   文件: WorkspaceNavigator.java
private void onDragOver(DragEvent e) {
	// Allow drag-drop content
	if (e.getGestureSource() != this && e.getDragboard().hasFiles())
		e.acceptTransferModes(TransferMode.COPY_OR_MOVE);
	e.consume();
}
 
源代码16 项目: qiniu   文件: MainController.java
/**
 * 开始拖曳文件
 */
public void dragFileOver(DragEvent event) {
    event.acceptTransferModes(TransferMode.ANY);
}
 
源代码17 项目: pdfsam   文件: BrowsableFileField.java
private Consumer<DragEvent> onDragOverConsumer() {
    return (DragEvent e) -> e.acceptTransferModes(TransferMode.COPY_OR_MOVE);
}
 
源代码18 项目: pdfsam   文件: BrowsableDirectoryField.java
private Consumer<DragEvent> onDragOverConsumer() {
    return (DragEvent e) -> e.acceptTransferModes(TransferMode.COPY_OR_MOVE);
}
 
源代码19 项目: java_fx_node_link_demo   文件: RootLayout.java
private void buildDragHandlers() {
	
	//drag over transition to move widget form left pane to right pane
	mIconDragOverRoot = new EventHandler <DragEvent>() {

		@Override
		public void handle(DragEvent event) {
			
			Point2D p = right_pane.sceneToLocal(event.getSceneX(), event.getSceneY());

			//turn on transfer mode and track in the right-pane's context 
			//if (and only if) the mouse cursor falls within the right pane's bounds.
			if (!right_pane.boundsInLocalProperty().get().contains(p)) {
				
				event.acceptTransferModes(TransferMode.ANY);
				mDragOverIcon.relocateToPoint(new Point2D(event.getSceneX(), event.getSceneY()));
				return;
			}

			event.consume();
		}
	};
	
	mIconDragOverRightPane = new EventHandler <DragEvent> () {

		@Override
		public void handle(DragEvent event) {

			event.acceptTransferModes(TransferMode.ANY);
			
			//convert the mouse coordinates to scene coordinates,
			//then convert back to coordinates that are relative to 
			//the parent of mDragIcon.  Since mDragIcon is a child of the root
			//pane, coodinates must be in the root pane's coordinate system to work
			//properly.
			mDragOverIcon.relocateToPoint(
							new Point2D(event.getSceneX(), event.getSceneY())
			);
			event.consume();
		}
	};
			
	mIconDragDropped = new EventHandler <DragEvent> () {

		@Override
		public void handle(DragEvent event) {
			
			DragContainer container = 
					(DragContainer) event.getDragboard().getContent(DragContainer.AddNode);
			
			container.addData("scene_coords", 
					new Point2D(event.getSceneX(), event.getSceneY()));
			
			ClipboardContent content = new ClipboardContent();
			content.put(DragContainer.AddNode, container);
			
			event.getDragboard().setContent(content);
			event.setDropCompleted(true);
		}
	};

	this.setOnDragDone (new EventHandler <DragEvent> (){
		
		@Override
		public void handle (DragEvent event) {
			
			right_pane.removeEventHandler(DragEvent.DRAG_OVER, mIconDragOverRightPane);
			right_pane.removeEventHandler(DragEvent.DRAG_DROPPED, mIconDragDropped);
			base_pane.removeEventHandler(DragEvent.DRAG_OVER, mIconDragOverRoot);
							
			mDragOverIcon.setVisible(false);
			
			DragContainer container = 
					(DragContainer) event.getDragboard().getContent(DragContainer.AddNode);
			
			if (container != null) {
				if (container.getValue("scene_coords") != null) {
				
					DragIcon droppedIcon = new DragIcon();
					
					droppedIcon.setType(DragIconType.valueOf(container.getValue("type")));
					right_pane.getChildren().add(droppedIcon);

					Point2D cursorPoint = container.getValue("scene_coords");

					droppedIcon.relocateToPoint(
							new Point2D(cursorPoint.getX() - 32, cursorPoint.getY() - 32)
							);
				}
			}

			event.consume();
		}
	});
}
 
源代码20 项目: pdfsam   文件: ModulesDashboardTile.java
private Consumer<DragEvent> onDragOverConsumer() {
    return (DragEvent e) -> e.acceptTransferModes(TransferMode.COPY_OR_MOVE);
}