powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Drag & Drop. Не получается получить имена перетаскиваемых файлов.
9 сообщений из 9, страница 1 из 1
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34514906
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример содрал у Хорстмана. Вот метод 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
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34514923
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34514937
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помогло. Тот же самый эксепшин.
...
Рейтинг: 0 / 0
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34514989
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34514991
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34515000
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну например сам файловый менеджер из которого файлы перетаскиваются на приложение не полностью поддерживает драгендроп. Можно попробовать в обычном виндовом експлорере, у него всё пучком вроде
...
Рейтинг: 0 / 0
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34515002
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ну например сам файловый менеджер из которого файлы перетаскиваются на приложение не полностью поддерживает драгендроп. Можно попробовать в обычном виндовом експлорере, у него всё пучком вроде
Да ведь я из эксплоррера и тянул...
...
Рейтинг: 0 / 0
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34515007
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, в твоём вызывающем коде что-то значит. DropTargetListener например не так создаёшь или ещё что. Сама-то обработка драгдропа обычная как у всех и у всех работает
...
Рейтинг: 0 / 0
Drag & Drop. Не получается получить имена перетаскиваемых файлов.
    #34515020
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, попробую слово в слово Хорстмана переписать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Drag & Drop. Не получается получить имена перетаскиваемых файлов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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