All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.andy2003.logging.input.BusDropTargetAdapter Maven / Gradle / Ivy

The newest version!
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.github.andy2003.logging.input;

import com.github.andy2003.core.Bus;
import java.awt.dnd.DropTargetAdapter;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;

/**
 *
 * @author dschanoeh
 */
public class BusDropTargetAdapter extends DropTargetAdapter {

    public static interface BusDropReceiver {

        void receive(Bus b, int number);

    };
    
    private int number;
    private BusDropReceiver receiver;

    public BusDropTargetAdapter(BusDropReceiver receiver, int number) {
        this.number = number;
        this.receiver = receiver;
    }

    @Override
    public void dragEnter(DropTargetDragEvent dtde) {
        if (!dtde.isDataFlavorSupported(
                com.github.andy2003.ui.projects.BusNode.DATA_FLAVOR)) {
            dtde.rejectDrag();
        }
    }

    @Override
    public void drop(DropTargetDropEvent dtde) {
        try {
            com.github.andy2003.ui.projects.BusNode n = (com.github.andy2003.ui.projects.BusNode) dtde.getTransferable().
                    getTransferData(com.github.andy2003.ui.projects.BusNode.DATA_FLAVOR);

            receiver.receive(n.getBus(), number);

        } catch (Exception e) {
            e.printStackTrace();
            dtde.rejectDrop();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy