package ru.gazprom.gtnn.minos.models;
import java.awt.Image;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JTree;
import javax.swing.TransferHandler;
public class MyTransferHandler extends TransferHandler {
private static final long serialVersionUID = 1L;
private Image img;
//private String str;
public MyTransferHandler(String str) {
//this.str = str;
try {
img = ImageIO.read(new File("C:\\Users\\Ed\\Google ����\\����� �����\\Minos\\image\\page_add_32.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
img = null;
}
}
@Override
public int getSourceActions(JComponent c) {
//System.out.println(str + " : MyTransferHandler.getSourceActions : " + c.getName());
return TransferHandler.LINK;
// return super.getSourceActions(c);
}
@Override
public boolean canImport(JComponent arg0, DataFlavor[] arg1) {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.canImport " + arg0.getName());
return super.canImport(arg0, arg1);
}
@Override
public boolean canImport(TransferSupport arg0) {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.canImport");
return arg0.isDataFlavorSupported(DataFlavor.stringFlavor);
//return super.canImport(arg0);
}
@Override
protected Transferable createTransferable(JComponent arg0) {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.createTransferable " + arg0.getName());
return new StringSelection("hello");
//return super.createTransferable(arg0);
}
@Override
public Image getDragImage() {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.getDragImage");
return img == null ? super.getDragImage() : img;
//return super.getDragImage();
}
@Override
public boolean importData(JComponent arg0, Transferable arg1) {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.importData " + arg0.getName());
return super.importData(arg0, arg1);
}
@Override
public boolean importData(TransferSupport arg0) {
// TODO Auto-generated method stub
//System.out.println(str + " : MyTransferHandler.importData");
if(arg0.isDataFlavorSupported(DataFlavor.stringFlavor)) {
try {
// �/� �������� � ������ ����� ������
System.out.println(arg0.getDropLocation());
System.out.println(arg0.getComponent().getName());
System.out.println(((JTree)arg0.getComponent()).getPathForLocation(arg0.getDropLocation().getDropPoint().x,
arg0.getDropLocation().getDropPoint().y));
System.out.println(arg0.getTransferable().getTransferData(DataFlavor.stringFlavor));
return true;
} catch(Exception e) {
e.printStackTrace();
}
}
//return super.importData(arg0);
return false;
}
}