Tree mit ++Icon & Drag & Drop aus dem Explorer

JavaEngel

Mitglied
Hallo tutorials.de User,

ich komm gleich zu meinem Problem.

Frage 1:
Ich möchte einen Ordner aus dem Explorer über Drag & Drop in ein Tree einfügen. Dort soll dann der Ordner eingefügt werden.

Übermittelte Informationen:
  • OrdnerName
  • OrdnerIcon
  • OrdnerPfad

Frage 2:
Wie kann ich die Icongröße von einem Tree verändern. die Icons sind ja so winzig. Ich würde gern das Icon auf 32x32 Pixel vergrößern.


Ich danke euch herzlich für eure Hilfe. ;-)
 
Hallo,

schau mal hier:
Java:
/**
 * 
 */
package de.tutorials;

import java.awt.Dimension;
import java.awt.datatransfer.DataFlavor;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetAdapter;
import java.awt.dnd.DropTargetDropEvent;
import java.io.File;
import java.util.List;

import javax.swing.DropMode;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

/**
 * @author Tom
 * 
 */
public class JTreeDNDFromExplorerExample extends JFrame {
    public JTreeDNDFromExplorerExample() {
        super("JTreeDNDFromExplorerExample");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        final JTree tree = new JTree(new DefaultTreeModel(
                new DefaultMutableTreeNode("root")));
        tree.setDropMode(DropMode.ON_OR_INSERT);
        DropTarget dropTarget = new DropTarget(tree, new DropTargetAdapter() {
            @Override
            public void drop(DropTargetDropEvent dtde) {
                dtde.acceptDrop(DnDConstants.ACTION_MOVE);
                try {
                    @SuppressWarnings("unchecked")
                    List<File> files = (List<File>) dtde.getTransferable()
                            .getTransferData(DataFlavor.javaFileListFlavor);

                    for (File file : files) {
                        System.out.println(file);

                        DefaultMutableTreeNode targetNode = null;

                        if (tree.isSelectionEmpty()) {
                            targetNode = (DefaultMutableTreeNode) tree
                                    .getModel().getRoot();
                        } else {
                            targetNode = (DefaultMutableTreeNode) tree
                                    .getSelectionPath().getLastPathComponent();
                        }

                        targetNode.add(new DefaultMutableTreeNode(file
                                .getName()));

                        tree.updateUI();
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        tree.setPreferredSize(new Dimension(200, 400));
        add(tree);
        pack();
        setVisible(true);

    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        new JTreeDNDFromExplorerExample();
    }
}

und hier:
http://www.tutorials.de/forum/java/183181-jtree-plus-minus-ausblenden.html

Gruß Tom
 
:eek:

Ich könnt dich knutschen Tom. Danke für den Impuls. Ich werde das ganze nun meinen Bedürfnissen anpassen.

Danke Tom, hast mein Wochenende versüßt.
 
Zurück