我正在製作一個java applet,通過Drag和Drop.I工作,將文件從網站傳輸到我的桌面,但是,有什麼方法可以學習何時開始刪除?我使用MouseListener來列出鼠標動作並使用我的transferhandler類用於傳輸數據。下面有沒有辦法在拖放中達到拖放時間?
這樣的代碼..
public class DragApplet extends JApplet
{
public void init()
{
Container contentPane = getContentPane();
Image image = ...;
JLabel label = new JLabel(new ImageIcon(image));
label.setTransferHandler(new ImageSelection());
MouseListener listener = new MouseAdapter()
{
public void mousePressed(MouseEvent me) {
JComponent comp = (JComponent) me.getSource();
TransferHandler handler = comp.getTransferHandler();
handler.exportAsDrag(comp, me, TransferHandler.COPY);
}
}
label.addMouseListener(listener);
contentPane.add(label,BorderLayout.CENTER);
}
}
class ImageSelection extends TransferHandler implements Transferable
{
private static final DataFlavor flavors[] = { DataFlavor.javaFileListFlavor };
public ImageSelection(){ // bla bla.. }
public int getSourceActions(JComponent c) {
// bla bla..
return TransferHandler.COPY;
}
public Transferable createTransferable(JComponent comp) {
// bla bla..
return this;
}
public DataFlavor[] getTransferDataFlavors() {
// bla bla..
return flavors;
}
public boolean canImport(JComponent comp, DataFlavor flavor[]) {
// bla bla..
return true;
}
public Object getTransferData(DataFlavor flavor){
//Download starts and save "C:\\Temp\\aa.mpg" here..
String[] ary= {"C:\\Temp\\aa.mpg\\"};
return Arrays.asList(ary);
}
public boolean importData(JComponent comp, Transferable t) {
// bla bla..
return false;
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
// bla bla..
return true;
}
}
你要實現什麼功能? – 2012-02-03 12:49:35
我在我的TransferHandler類上實現了Transferable。鼠標監聽器創建了一些方法,如mousepressed,mousereleased .. – sfenx 2012-02-03 13:23:24
這應該有讀*「你有什麼功能**嘗試**實現?」*,但你的評論完全沒有告訴我。這樣想想吧。這是您用來說服潛在最終用戶選擇您的應用的功能。在另一個。向我解釋這個功能,就像你對最終用戶的功能一樣 - 注意到如果你告訴最終用戶你剛纔寫給我的信息,他們根本就不知道你在說什麼。再次,*功能是什麼?* – 2012-02-03 13:45:19