hallo ich versuche wie mein name schon sagt java zu lernen und hänge nun schon seit drei tagen an einem problem fest.
ich will ein JTree erzeugen der die verzeichnisse von meiner fetplatte ab einer bestimmten instanz zeigt.
außerdem sollen die dateien in den ordnern auswählbar und verarbeitbar sein (z.B. löschen) .
die anzeige des baumes funktioniert bis jetzt schon ganz gut aber nun meinem problem.
ich bekomme es einfach nicht auf die reihe auf die dateien zuzugreifen und zu verarbeiten.
kann mir da irgendwer helfen?
ich verstehe nämlich immer weniger umso mehr ich in meinem text rumschreibe. ???:L
brauche aber bitte keine antworten wie schau bei google oder so das hab ich nämlich schon die letzetn drei tag gemacht.
hier mal meine quelltext auszüge:
das ist das panel wo der baum angezeigt werden soll
hier wird der baum gebaut
hoffe auf viele hilfreiche antworten und danke schon mal im vorraus.
gruß Java_Schüler
ich will ein JTree erzeugen der die verzeichnisse von meiner fetplatte ab einer bestimmten instanz zeigt.
außerdem sollen die dateien in den ordnern auswählbar und verarbeitbar sein (z.B. löschen) .
die anzeige des baumes funktioniert bis jetzt schon ganz gut aber nun meinem problem.
ich bekomme es einfach nicht auf die reihe auf die dateien zuzugreifen und zu verarbeiten.
kann mir da irgendwer helfen?
ich verstehe nämlich immer weniger umso mehr ich in meinem text rumschreibe. ???:L
brauche aber bitte keine antworten wie schau bei google oder so das hab ich nämlich schon die letzetn drei tag gemacht.
hier mal meine quelltext auszüge:
das ist das panel wo der baum angezeigt werden soll
Java:
public class DP_UploadPanel extends JPanel
{
private static final long serialVersionUID = -2650186823063487239L;
public BaumEinstellung tBaum = new BaumEinstellung();
@SuppressWarnings("unused")
private DatePanel owner;
public DP_UploadPanel(DatePanel owner)
{
this.owner = owner;
//Ordnerpanel
gbc.gridx = 0;
gbc.gridy = 1;
gbc.gridwidth = 1;
gbc.fill = GridBagConstraints.BOTH;
tBaum.setBackground(Color.lightGray);
tBaum.setPreferredSize(new Dimension(300, 400));
tBaum.setBorder(BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(1, 0, 1,0, Color.black), "Dateiauswahl:",TitledBorder.DEFAULT_POSITION ,TitledBorder.LEFT,
new Font("", Font.BOLD, 15), Color.black));
add(tBaum, gbc);
//Löschentaster
gbc.gridx = 0;
gbc.gridy = 0;
bLösc.setPreferredSize(new Dimension(50, 40));
bLösc.setToolTipText("Datei Löschen");
bLösc.addActionListener(bListener);
pOpti.add(bLösc, gbc);
}
ActionListener bListener = new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
Object source = ae.getSource();
if (source == bLösc)
{
tBaum.NodeLöschen();
}
}
};
}
hier wird der baum gebaut
Java:
public class BaumEinstellung extends JTree
{
private static final long serialVersionUID = -2062606267429634774L;
public File file= new File("/home/eclipse/Test/daten");
private Toolkit toolkit = Toolkit.getDefaultToolkit();
public FileSystemTreeNode rootNode = new FileSystemTreeNode(file);
public DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
public JTree tBaum = new JTree(treeModel);
public BaumEinstellung()
{
treeModel.addTreeModelListener(new MyTreeModelListener());
setModel(treeModel);
setEditable(true);
getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
setShowsRootHandles(true);
}
public void NodeLöschen()
{
TreePath currentSelection = tBaum.getSelectionPath();
if (currentSelection != null)
{
DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode)
(currentSelection.getLastPathComponent());
MutableTreeNode parent = (MutableTreeNode)(currentNode.getParent());
if (parent != null)
{
treeModel.removeNodeFromParent(currentNode);
return;
}
}
toolkit.beep();
}
public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child)
{
return addObject(parent, child, false);
}
public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,Object child,boolean shouldBeVisible)
{
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
if (parent == null)
{
parent = rootNode;
}
treeModel.insertNodeInto(childNode, parent,parent.getChildCount());
if (shouldBeVisible)
{
tBaum.scrollPathToVisible(new TreePath(childNode.getPath()));
}
return childNode;
}
class FileSystemTreeNode extends DefaultMutableTreeNode
{
private static final long serialVersionUID = 1L;
public FileSystemTreeNode(File file)
{
setUserObject(file);
}
public int getChildCount()
{
return ((File) getUserObject()).list().length;
}
public TreeNode getChildAt(int index)
{
return new FileSystemTreeNode(((File) getUserObject()).listFiles()[index]);
}
public boolean isLeaf()
{
return !((File) getUserObject()).isDirectory();
}
public String toString()
{
return ((File) getUserObject()).getName();
}
}
class MyTreeModelListener implements TreeModelListener
{
public void treeNodesChanged(TreeModelEvent e)
{
DefaultMutableTreeNode node;
node = (DefaultMutableTreeNode)(e.getTreePath().getLastPathComponent());
int index = e.getChildIndices()[0];
node = (DefaultMutableTreeNode)(node.getChildAt(index));
System.out.println("The user has finished editing the node.");
System.out.println("New value: " + node.getUserObject());
}
public void treeNodesInserted(TreeModelEvent e)
{
}
public void treeNodesRemoved(TreeModelEvent e)
{
}
public void treeStructureChanged(TreeModelEvent e)
{
}
}
}
hoffe auf viele hilfreiche antworten und danke schon mal im vorraus.
gruß Java_Schüler