public abstract class AbstractProjectFileTransferHandler extends TransferHandler
TransferHandler.DropLocation, TransferHandler.TransferSupportCOPY, COPY_OR_MOVE, LINK, MOVE, NONE| Constructor and Description |
|---|
AbstractProjectFileTransferHandler(Window ownerWindow,
String ownerTitle)
Constrói um handler de transferência de objetos de uma árvore de projeto.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canImport(JComponent c,
DataFlavor[] flavor) |
void |
clearClipboard()
Limpa a área de transferência caso esteja ocorrendo uma transferência que
tenha sido iniciada por uma ação de COPY/PASTE.
|
Transferable |
createTransferable(JComponent dragSource)
Cria uma representação do objeto que vai ser transferido durante uma
operação de drag
&drop ou através do clipboard. |
void |
exportAsDrag(JComponent source,
InputEvent event,
int action)
É chamada ao início de uma ação de Drag.
|
protected void |
exportDone(JComponent source,
Transferable data,
int action)
Este método deveria apenas remover os dados de origem após uma importação
bem sucedida no caso de uma ação de mover (
MOVE), porém como
as ações rodam dentro de uma thread, este método não teria como saber se a
importação foi bem sucedida ou não para então remover o dado original. |
void |
exportToClipboard(JComponent source,
Clipboard clip,
int action)
É chamada ao início de uma ação de transferência para o clipboard.
|
protected abstract csbase.logic.ClientProjectFile |
getDestinationDirectory(JComponent destination) |
protected abstract csbase.logic.ClientProjectFile[] |
getFilesToExport(JComponent source) |
int |
getSourceActions(JComponent c)
Obtém os tipos de ação de transferência suportados pela árvore de projeto.
|
boolean |
hasTransferableInClipboard() |
boolean |
importData(JComponent destination,
Transferable data)
Este método deveria implementar a importação dos dados na fonte do drop,
porém como as ações rodam dentro de uma thread, a ação de mover não poderia
ser quebrada em importar(importData)+remover(exportDone), pois se um erro
ocorresse durante a importação, a etapa de remover ocorreria em seguida e
os dados seriam perdidos.
|
canImport, getCopyAction, getCutAction, getDragImage, getDragImageOffset, getPasteAction, getVisualRepresentation, importData, setDragImage, setDragImageOffsetpublic AbstractProjectFileTransferHandler(Window ownerWindow, String ownerTitle)
ownerWindow - A janela sobre a qual uma DesktopTask deve ser efetuada.ownerTitle - O título da janela de DesktopTaskpublic boolean hasTransferableInClipboard()
public void clearClipboard()
public int getSourceActions(JComponent c)
getSourceActions in class TransferHandlerc - .TransferHandler.COPY_OR_MOVE.public boolean canImport(JComponent c, DataFlavor[] flavor)
canImport in class TransferHandlerpublic void exportAsDrag(JComponent source, InputEvent event, int action)
exportAsDrag in class TransferHandlersource - Componente fonte do objeto sendo transferido.event - O evento que iniciou a transferência.action - A ação (COPY/MOVE) que iniciou a transferência.public void exportToClipboard(JComponent source, Clipboard clip, int action)
exportToClipboard in class TransferHandlersource - Componente fonte do objeto sendo transferido.clip - Deve ser null, pois está sendo utilizado um
clipboard próprio.action - A ação (COPY/MOVE) que iniciou a transferência.public Transferable createTransferable(JComponent dragSource)
&drop ou através do clipboard. Nesse caso, o objeto
criado contém referências para um ou mais instâncias de
ProjectFile que foram selecionadas na árvore.createTransferable in class TransferHandlerdragSource - O compoenente JTree que contém os objetos
que serão transferidos.Transferable que contém os nós de arquivos
ou diretórios selecionados na árvore de projeto.public boolean importData(JComponent destination, Transferable data)
importData in class TransferHandlerdestination - O componente que possui os objetos sobre o qual a
transferência será efetuada.data - O objeto que representa o que está sendo transferido.protected void exportDone(JComponent source, Transferable data, int action)
MOVE), porém como
as ações rodam dentro de uma thread, este método não teria como saber se a
importação foi bem sucedida ou não para então remover o dado original.
Desta forma, este método está disparando as ações, para que assim a ação de
mover não seja quebrada em duas (importar+apagar).exportDone in class TransferHandlersource - o componente que foi a fonte dos dados.data - o dado transferido ou null se a ação foi NONE.action - a ação que foi executada.protected abstract csbase.logic.ClientProjectFile[] getFilesToExport(JComponent source)
source - componente fonte de uma ação de copiar ou de mover.protected abstract csbase.logic.ClientProjectFile getDestinationDirectory(JComponent destination)
destination - componente que irá receber os arquivos/diretórios
exportados.Copyright © 2019. All rights reserved.