Skip to main content

AppCenter - Registrierung von Bildern für Drag&Drop?

Comments

2 comments

  • Zendesk API User
    Author: mark_weigelt - 4/10/2019 21:49

    Mittlerweile konnte ich das Bild im AppCenter auslesen und die URL registrieren.

    Per URL könnte ich ein Picture oder java.awt.Image erzeugen.

    Jedoch weiß ich leider immer noch nicht, welcher de.espirit.firstspirit.ui.gadgets.aspects.transfer.TransferType für die Bilder der richtige ist!? Im AppCenter wird eine HTML-Seite mit Bildern und Texten geladen. Für die Texte fukntioniert das Drag&Drop bereits.

    Bei TransferAgent.getMediaType() verstehe ich nicht, wie ich ein Media oder Picture für das Drag&Drop erzeugen kann, ohne gleich ein Medium in der Medien-Verwaltung zu erzeugen. Also wie kann ein temporäres Medium angelegt werden?

    dragContext.addTransferItem(transferAgent.getMediaType(Picture.class), media);

    Und wie lässt sich bei transferAgent.getExternalType() ein EnhancedFile erzeugen, falls dies der richtige Typ ist?

    dragContext.addTransferItem(transferAgent.getExternalType(), enhancedFile);

    Wenn ich stattdessen dragContext.setDragImage(image) verwende erhalte ich folgende Fehlermeldung beim Drag:

    FSVersion=5.2.181007.77756#3064;JDK=1.8.0_171 64bit Oracle Corporation;OS=Windows 10 10.0 amd64;Date=10.04.2019 22:30:08 (I)

    java.lang.NullPointerException

        at de.espirit.firstspirit.io.EnhancedFile$Builder.getMimeType(EnhancedFile.java:666)

        at de.espirit.firstspirit.io.EnhancedFile$Builder.uri(EnhancedFile.java:611)

        at de.espirit.firstspirit.io.EnhancedFile.create(EnhancedFile.java:323)

        at de.espirit.firstspirit.client.gui.tree.store.mediastore.MediaDndUtil.getTransferable(MediaDndUtil.java:273)

        at de.espirit.firstspirit.ui.gadgets.swing.TransferWrappingCommodityContainer.get(TransferWrappingCommodityContainer.java:79)

        at de.espirit.firstspirit.ui.gadgets.swing.reference.ReferenceSwingGadget$9.accept(ReferenceSwingGadget.java:686)

        at de.espirit.firstspirit.ui.gadgets.swing.HandlerHostImpl$DropHandlerImpl.validatorsAccept(HandlerHostImpl.java:168)

        at de.espirit.firstspirit.ui.gadgets.swing.HandlerHostImpl$DropHandlerImpl.acceptTransfer(HandlerHostImpl.java:152)

        at de.espirit.firstspirit.client.datatransfer.DropHandler.dragEnter(DropHandler.java:143)

        at java.awt.dnd.DropTarget.dragEnter(Unknown Source)

        at sun.awt.dnd.SunDropTargetContextPeer.processEnterMessage(Unknown Source)

        at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEnterEvent(Unknown Source)

        at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(Unknown Source)

        at sun.awt.dnd.SunDropTargetEvent.dispatch(Unknown Source)

        at java.awt.Component.dispatchEventImpl(Unknown Source)

        at java.awt.Container.dispatchEventImpl(Unknown Source)

        at java.awt.Component.dispatchEvent(Unknown Source)

        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

        at java.awt.LightweightDispatcher.retargetMouseEnterExit(Unknown Source)

        at java.awt.LightweightDispatcher.trackDropTargetEnterExit(Unknown Source)

        at java.awt.LightweightDispatcher.trackMouseEnterExit(Unknown Source)

        at java.awt.LightweightDispatcher.processDropTargetEvent(Unknown Source)

        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

        at java.awt.Container.dispatchEventImpl(Unknown Source)

        at java.awt.Window.dispatchEventImpl(Unknown Source)

        at java.awt.Component.dispatchEvent(Unknown Source)

        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

        at java.awt.EventQueue.access$500(Unknown Source)

        at java.awt.EventQueue$3.run(Unknown Source)

        at java.awt.EventQueue$3.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

        at java.awt.EventQueue$4.run(Unknown Source)

        at java.awt.EventQueue$4.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

        at java.awt.EventQueue.dispatchEvent(Unknown Source)

        at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:161)

        at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:138)

        at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:131)

        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

        at java.awt.EventDispatchThread.run(Unknown Source)

    Vielleicht bin ich auch auf einem falschen Weg und ich bin für jeden Hinweis dankbar, um Bilder aus dem AppCenter in eine FS_REFERENCE-Komponente zu ziehen.

    0
  • Zendesk API User
    Author: mark_weigelt - 4/17/2019 12:58

    Ich habe die Drop-Fläche für das Bild nun über ein FS_BUTTON realisiert, auf dem die URL des Bilds fallengelassen werden kann. Anschließend wird das Bild in die Medien-Verwaltung hochgeladen und die FS_REFERENCE-Eingabekomponente mit dem Bild befüllt.

    0

Please sign in to leave a comment.