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

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

源代码1 项目: ns-usbloader   文件: FrontController.java
/**
 * Drag-n-drop support (drop consumer)
 * */
@FXML
private void handleDrop(DragEvent event){
    List<File> filesDropped = event.getDragboard().getFiles();

    if (getSelectedProtocol().equals("TinFoil") && MediatorControl.getInstance().getContoller().getSettingsCtrlr().getTfXciNszXczSupport())
        filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches("(.*\\.nsp$)|(.*\\.xci$)|(.*\\.nsz$)|(.*\\.xcz$)"));
    else if (getSelectedProtocol().equals("GoldLeaf") && (! MediatorControl.getInstance().getContoller().getSettingsCtrlr().getNSPFileFilterForGL()))
        filesDropped.removeIf(file -> (file.isDirectory() && ! file.getName().toLowerCase().matches(".*\\.nsp$")));
    else
        filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches(".*\\.nsp$"));

    if ( ! filesDropped.isEmpty() )
        tableFilesListController.setFiles(filesDropped);

    event.setDropCompleted(true);
    event.consume();
}
 
源代码2 项目: 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();
   	    }
   	};
}
 
源代码3 项目: Solitaire   文件: CardPileView.java
private EventHandler<DragEvent> createDragEnteredHandler(final ImageView pImageView, final Card pCard)
{
	return new EventHandler<DragEvent>()
	{
		@Override
		public void handle(DragEvent pEvent)
		{
			CardTransfer transfer = new CardTransfer(pEvent.getDragboard().getString());
			if( GameModel.instance().isLegalMove(transfer.getTop(), aIndex) )
			{
				pImageView.setEffect(new DropShadow());
			}
			pEvent.consume();
		}
	};
}
 
源代码4 项目: phoebus   文件: DockItem.java
/** Handle that this tab was dragged elsewhere, or drag aborted */
private void handleDragDone(final DragEvent event)
{
    final DockItem item = dragged_item.getAndSet(null);
    if (item != null  &&  !event.isDropCompleted())
    {
        // Would like to position new stage where the mouse was released,
        // but event.getX(), getSceneX(), getScreenX() are all 0.0.
        // --> Using MouseInfo, which is actually AWT code
        final Stage other = item.detach();
        final PointerInfo pi = MouseInfo.getPointerInfo();
        if (pi != null)
        {
            final Point loc = pi.getLocation();
            other.setX(loc.getX());
            other.setY(loc.getY());
        }
    }
    event.consume();
}
 
源代码5 项目: Solitaire   文件: CardPileView.java
private EventHandler<DragEvent> createDragDroppedHandler(final ImageView pImageView, final Card pCard)
{
	return new EventHandler<DragEvent>() 
	{
		@Override
		public void handle(DragEvent pEvent)
		{
			Dragboard db = pEvent.getDragboard();
			boolean success = false;
			if(db.hasString()) 
			{
				GameModel.instance().getCardMove(new CardTransfer(db.getString()).getTop(), aIndex).perform(); 
				success = true;
			}

			pEvent.setDropCompleted(success);

			pEvent.consume();
		}
	};
}
 
/**
 * 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();
}
 
源代码7 项目: 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();
}
 
源代码8 项目: ns-usbloader   文件: RcmController.java
/**
 * Drag-n-drop support (drop consumer)
 * */
@FXML
private void handleDrop(DragEvent event){
    Node sourceNode = (Node) event.getSource();
    File fileDrpd = event.getDragboard().getFiles().get(0);

    if (fileDrpd.isDirectory()){
        event.setDropCompleted(true);
        event.consume();
        return;
    }

    String fileNameDrpd = fileDrpd.getAbsolutePath();

    switch (sourceNode.getId()){
        case "plHbox1":
            setPayloadFile( 1, fileNameDrpd);
            break;
        case "plHbox2":
            setPayloadFile( 2, fileNameDrpd);
            break;
        case "plHbox3":
            setPayloadFile( 3, fileNameDrpd);
            break;
        case "plHbox4":
            setPayloadFile( 4, fileNameDrpd);
            break;
        case "plHbox5":
            setPayloadFile( 5, fileNameDrpd);
    }
    event.setDropCompleted(true);
    event.consume();
}
 
源代码9 项目: ns-usbloader   文件: FrontController.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();
}
 
源代码10 项目: ApkToolPlus   文件: ApkInfoPrinterActivity.java
public void onDragOverLinkFile(DragEvent event){
    Dragboard db = event.getDragboard();
    if (db.hasFiles()) {
        event.acceptTransferModes(TransferMode.LINK);
    } else {
        event.consume();
    }
}
 
源代码11 项目: pdfsam   文件: BrowsableDirectoryField.java
private void dragConsume(DragEvent e, Consumer<DragEvent> c) {
    List<File> files = e.getDragboard().getFiles();
    if (files != null && !files.isEmpty()) {
        c.accept(e);
    }
    e.consume();
}
 
源代码12 项目: 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();
  }
}
 
源代码13 项目: 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();
}
 
源代码14 项目: phoebus   文件: DockPane.java
/** Highlight while 'drop' is possible */
private void handleDragEntered(final DragEvent event)
{
    if (!isFixed()  &&
        DockItem.dragged_item.get() != null)
        setBorder(DockItem.DROP_ZONE_BORDER);
    event.consume();
}
 
源代码15 项目: 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();
}
 
源代码16 项目: phoebus   文件: DockItem.java
/** Highlight while 'drop' is possible */
private void handleDragEntered(final DragEvent event)
{
    // Drop not possible into a 'fixed' pane
    if (getDockPane().isFixed())
        return;

    final DockItem item = dragged_item.get();
    if (item != null  &&  item != this)
    {
        name_tab.setBorder(DROP_ZONE_BORDER);
        name_tab.setTextFill(Color.GREEN);
    }
    event.consume();
}
 
源代码17 项目: phoebus   文件: DockPane.java
/** Remove Highlight */
private void handleDragExited(final DragEvent event)
{
    setBorder(Border.EMPTY);
    event.consume();
}
 
源代码18 项目: 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();
		}
	});
}
 
源代码19 项目: mdict-java   文件: SearchBox.java
protected void enterDrag(DragEvent event) {
event.acceptTransferModes(TransferMode.MOVE);
   event.consume();
  }
 
源代码20 项目: 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();
}