tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
5207
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Busi
    Busi Busi ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    56
    Hallo alle zusammen,

    Also, ich habe noch nie ein Forum aktiv genuzt. Also ist das meine Premiere

    Ich suche eine Möglichkeit um eine Datei von meinem Desktop in ein Java Programm zu ziehen.

    Eine Bitte, ich habe mich mit der Suche in diesem Forum auseinandergesetzt, und ich weiß auch was google ist, beides hat mich aber nicht weiter gebracht. Sollte ich also zu dumm zum suchen sein, bitte einen Link mit reinstellen.

    Danke im vorraus
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    du hast dich wahrscheinlich nicht richtig mit der Suche im Forum auseinander gesetzt. Bei dem Suchbegriff "drag drop" findet man ne ganze Menge. Unter anderem eine sehr alter Beitrag von mir. Ich wollte damals auch sowas machen und wusste nicht wie.
    Hier findest du mal ein Beispiel
    http://www.tutorials.de/forum/java/2...ag-n-drop.html
    und hier hast du noch ein paar Informationen
    http://www.tutorials.de/forum/swing-...drag-drop.html


    MFG

    zEriX
     

  3. #3
    Avatar von Busi
    Busi Busi ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    56
    Oh ich kan gegenargumentieren, ich habe diesen artikel gefunden. Und mich auch über ein Beispiel gefreut, denn aus denen lernt man ja am meisten. Aber leider Funktionierte es nicht. Es wurde zwar das Fenster angezeit, und man konnte auch Dateien "raufziehen", aber nicht passierte.

    Ich werde mich heute aber nochmal intensiver mit damit auseinandersetzen.

    <zusatz>
    Doch es geht, aber nur unter Windows, was mir leider nicht weiter hilft. Hat jemand eine Idee für die Betriebsystemübergreifende umsetzung
    </zusatz>
    Geändert von Busi (03.05.07 um 11:19 Uhr)
     

  4. #4
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    du kannst diese Version umschreiben, dass sie unter Linux funktioniert. Mir ist leider keine Möglichkeit bekannt, wie es in Linux und Windows funktioniert.

    MFG

    zEriX
     

  5. #5
    Avatar von Busi
    Busi Busi ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    56
    Nach langen suchen habe ich was gefunden.
    Code :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.datatransfer.DataFlavor;
    import java.awt.datatransfer.Transferable;
    import java.awt.dnd.DnDConstants;
    import java.awt.dnd.DropTarget;
    import java.awt.dnd.DropTargetDragEvent;
    import java.awt.dnd.DropTargetDropEvent;
    import java.awt.dnd.DropTargetEvent;
    import java.awt.dnd.DropTargetListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import javax.swing.JMenuItem;
    import javax.swing.JPopupMenu;
    import javax.swing.JTextArea;
    import javax.swing.JWindow;
     
    public class TestGrafik extends JWindow implements DropTargetListener 
    {
        public JTextArea ta = new JTextArea();;
        private String file = null;
        public String getFile(){return file;}
        public JWindow jw = this;
        public void setFile(String file){this.file = file;}
        public TestGrafik() 
        {
            setSize(300,300);
            getContentPane().add(ta, BorderLayout.CENTER);
            DropTarget dt = new DropTarget(ta, this);
            setVisible(true);
        }
        public void dragEnter(DropTargetDragEvent dtde) {}
        public void dragExit(DropTargetEvent dte) {}
        public void dragOver(DropTargetDragEvent dtde) {}
        public void dropActionChanged(DropTargetDragEvent dtde) {}
        public void drop(DropTargetDropEvent dtde) 
        {
            try 
            {
                Transferable tr = dtde.getTransferable();
                DataFlavor[] flavors = tr.getTransferDataFlavors();
                for (int i = 0; i < flavors.length; i++) 
                {
                    
                    if (flavors[i].isFlavorJavaFileListType()) 
                    {
                        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                        setFile(((java.util.List)tr.getTransferData(flavors[i])).get(0).toString());
                        dtde.dropComplete(true);
                        return;
                    }
                    else if (flavors[i].isRepresentationClassInputStream()) 
                    {
                        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                        ta.read(new InputStreamReader((InputStream)tr.getTransferData(flavors[i])),"from system clipboard");
                        dtde.dropComplete(true);
                        setFile(ta.getText().trim());
                        ta.setText(null);
                        System.out.println(getFile());
                        return;
                    }
                }
                System.out.println("Drop failed: " + dtde);
                dtde.rejectDrop();
            } 
            catch (Exception e) 
            {
                e.printStackTrace();
                dtde.rejectDrop();
            }
        }
        public static void main(String args[]) 
        {
            new TestGrafik();
        }
    }

    mit getFile bekommt man den Pfad mit Datei zurück
    Geändert von Busi (04.05.07 um 14:54 Uhr)
     

  6. #6
    smuehlba smuehlba ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    10
    Vom Desktop in ein Java-Prog funktioniert ja recht gut, aber wie geht der umgekehrte Weg:

    Ich will eine Datei aus meinem Java-Prog auf den Desktop ziehen: das einzige, was ich habe, ist der Dateiname, Endung und Bytestream..

    ich kriegs einfach nicht gebacken...
     

Ähnliche Themen

  1. Drag n Drop
    Von kerstel im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 21.01.10, 13:36
  2. Drag & Drop
    Von muga im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 03.08.09, 17:42
  3. SWT Drag&Drop
    Von HuberDe im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 27.09.07, 08:15
  4. Drag & Drop mit <tr> ?!
    Von ev0lst im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 12.08.07, 10:23
  5. SWT: Ghosted Drag-Image bei Drag & Drop
    Von snake_plissken im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 15.04.06, 23:36