Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Drag & Drop. Не получается получить имена перетаскиваемых файлов. / 9 сообщений из 9, страница 1 из 1
09.05.2007, 21:23:12
    #34514906
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
Пример содрал у Хорстмана. Вот метод drop:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
     public   void  drop(DropTargetDropEvent dtde){
	    	Transferable trans = dtde.getTransferable();
		DataFlavor[] flavors = trans.getTransferDataFlavors();
		 int  i;
		 int  j;
		 for  (i =  0 ; i < flavors.length; i++){
			DataFlavor d = flavors[i];
			 this .area.append(d.getMimeType() + "\n");
			 try {
				 if  (d.equals(DataFlavor.javaFileListFlavor)){
					 this .area.append("File");
					java.util.List fList = (java.util.List)trans.getTransferData(d);
				}
			}
			 catch  (Exception e){
				e.printStackTrace();
			}
		}
    }
Пытаюсь перетащить файлы. Падаю вот на этой строке: java.util.List fList = (java.util.List)trans.getTransferData(d);
Если её закомментить ничего не будет. Прога не упадёт.
Вот эксепшин:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
java.awt.dnd.InvalidDnDOperationException: No drop current

        at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java: 210 )
        at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java: 56 )
        at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java: 359 )
        at dndtest.Listener.drop(Listener.java: 64 )
        at java.awt.dnd.DropTarget.drop(DropTarget.java: 430 )
        at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java: 500 )
        at sun.awt.dnd.SunDropTargetContextPeer.access$ 800 (SunDropTargetContextPeer.java: 53 )
        at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java: 812 )
        at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java: 736 )
        at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java: 29 )
        at java.awt.Component.dispatchEventImpl(Component.java: 3826 )
        at java.awt.Container.dispatchEventImpl(Container.java: 2024 )
        at java.awt.Component.dispatchEvent(Component.java: 3803 )
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java: 4212 )
        at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java: 3963 )
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java: 3817 )
        at java.awt.Container.dispatchEventImpl(Container.java: 2010 )
        at java.awt.Window.dispatchEventImpl(Window.java: 1774 )
        at java.awt.Component.dispatchEvent(Component.java: 3803 )
        at java.awt.EventQueue.dispatchEvent(EventQueue.java: 463 )
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java: 242 )
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java: 163 )
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 157 )
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java: 149 )
        at java.awt.EventDispatchThread.run(EventDispatchThread.java: 110 )


Код: plaintext
Meo voto
...
Рейтинг: 0 / 0
09.05.2007, 22:00:24
    #34514923
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  public   void  drop(DropTargetDropEvent dtde)
  {
     try 
    {
      Transferable t = dtde.getTransferable();
      dtde.acceptDrop(java.awt.dnd.DnDConstants.ACTION_LINK);
       if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
      {
        Object o = t.getTransferData(DataFlavor.javaFileListFlavor);
        java.util.List files = (java.util.List) o;
         if (files.size() >  0 )
        {
          File one = (File) files.get( 0 );


...
Рейтинг: 0 / 0
09.05.2007, 22:28:30
    #34514937
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
Не помогло. Тот же самый эксепшин.
...
Рейтинг: 0 / 0
09.05.2007, 23:50:37
    #34514989
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
public class InvalidDnDOperationExceptionextends IllegalStateException

This exception is thrown by various methods in the java.awt.dnd package. It is usually thrown to indicate that the target in question is unable to undertake the requested operation that the present time, since the undrelying DnD system is not in the appropriate state.
...
Рейтинг: 0 / 0
09.05.2007, 23:53:50
    #34514991
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
1024public class InvalidDnDOperationExceptionextends IllegalStateException

This exception is thrown by various methods in the java.awt.dnd package. It is usually thrown to indicate that the target in question is unable to undertake the requested operation that the present time, since the undrelying DnD system is not in the appropriate state.
Я слаб в английском. Как с этим бороться?
...
Рейтинг: 0 / 0
10.05.2007, 00:03:43
    #34515000
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
ну например сам файловый менеджер из которого файлы перетаскиваются на приложение не полностью поддерживает драгендроп. Можно попробовать в обычном виндовом експлорере, у него всё пучком вроде
...
Рейтинг: 0 / 0
10.05.2007, 00:08:38
    #34515002
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
1024ну например сам файловый менеджер из которого файлы перетаскиваются на приложение не полностью поддерживает драгендроп. Можно попробовать в обычном виндовом експлорере, у него всё пучком вроде
Да ведь я из эксплоррера и тянул...
...
Рейтинг: 0 / 0
10.05.2007, 00:17:59
    #34515007
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
ну, в твоём вызывающем коде что-то значит. DropTargetListener например не так создаёшь или ещё что. Сама-то обработка драгдропа обычная как у всех и у всех работает
...
Рейтинг: 0 / 0
10.05.2007, 00:38:39
    #34515020
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
Ладно, попробую слово в слово Хорстмана переписать.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Drag & Drop. Не получается получить имена перетаскиваемых файлов. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]