public abstract class AbstractProjectFileTransferHandler
extends javax.swing.TransferHandler
| Constructor and Description |
|---|
AbstractProjectFileTransferHandler(java.awt.Window ownerWindow,
java.lang.String ownerTitle)
Constrói um handler de transferência de objetos de uma árvore de projeto.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
canImport(javax.swing.JComponent c,
java.awt.datatransfer.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.
|
java.awt.datatransfer.Transferable |
createTransferable(javax.swing.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(javax.swing.JComponent source,
java.awt.event.InputEvent event,
int action)
É chamada ao início de uma ação de Drag.
|
protected void |
exportDone(javax.swing.JComponent source,
java.awt.datatransfer.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(javax.swing.JComponent source,
java.awt.datatransfer.Clipboard clip,
int action)
É chamada ao início de uma ação de transferência para o clipboard.
|
protected abstract csbase.logic.ClientProjectFile |
getDestinationDirectory(javax.swing.JComponent destination) |
protected abstract csbase.logic.ClientProjectFile[] |
getFilesToExport(javax.swing.JComponent source) |
int |
getSourceActions(javax.swing.JComponent c)
Obtém os tipos de ação de transferência suportados pela árvore de projeto.
|
boolean |
hasTransferableInClipboard() |
boolean |
importData(javax.swing.JComponent destination,
java.awt.datatransfer.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.
|
public AbstractProjectFileTransferHandler(java.awt.Window ownerWindow,
java.lang.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(javax.swing.JComponent c)
getSourceActions in class javax.swing.TransferHandlerc - .TransferHandler.COPY_OR_MOVE.public boolean canImport(javax.swing.JComponent c,
java.awt.datatransfer.DataFlavor[] flavor)
canImport in class javax.swing.TransferHandlerpublic void exportAsDrag(javax.swing.JComponent source,
java.awt.event.InputEvent event,
int action)
exportAsDrag in class javax.swing.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(javax.swing.JComponent source,
java.awt.datatransfer.Clipboard clip,
int action)
exportToClipboard in class javax.swing.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 java.awt.datatransfer.Transferable createTransferable(javax.swing.JComponent dragSource)
ProjectFile
que foram selecionadas na árvore.createTransferable in class javax.swing.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(javax.swing.JComponent destination,
java.awt.datatransfer.Transferable data)
importData in class javax.swing.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(javax.swing.JComponent source,
java.awt.datatransfer.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 javax.swing.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(javax.swing.JComponent source)
source - componente fonte de uma ação de copiar ou de mover.protected abstract csbase.logic.ClientProjectFile getDestinationDirectory(javax.swing.JComponent destination)
destination - componente que irá receber os arquivos/diretórios
exportados.Copyright © 2018. All Rights Reserved.