Tree nur mit Ordner anzeigen?

Status
Nicht offen für weitere Antworten.
J

Jason

Gast
:?:

Ich habe einen Tree erstellt und will aber der er nur Ordner anzeigt und keine Dateien.
Wie mache ich das?
Hier mein Tree Model:
Code:
class FileTreeModel implements TreeModel {

		protected myFile root; // Wurzel

		public void erneuerTree(){}
	
		public FileTreeModel(myFile root) {
			this.root = root;
		}

		public void setroot(myFile pathnamer) {
			this.root = pathnamer;
		}

		public Object getRoot() { // Liefert die Wurzel des Funktionsbaumes
			return root;
		} 
	
		public boolean isLeaf(Object node) { // ist es ein Blatt oder nicht
			return ( (myFile) node).isFile();
		} 
	
		public int getChildCount(Object parent) { //bekommt object Eltern und soll Anzahl Kind-Knoten dieses Knotens liefern
			String[] children = ( (myFile) parent).list(); //gibt String Liste von parent
			if (children == null)return 0; //wenn keine children dann 0
			return children.length; // sonst Länge der Kinder zurückgeben
		}

		public Object getChild(Object parent, int index) { // bekommt parent und Index des gesuchten Kind-Knotens und liefert Object Kind-Knoten
			String[] children = ( (myFile) parent).list(); //gibt String Liste von parent
			if ( (children == null) || (index >= children.length))return null;
			return new myFile( (myFile) parent, children[index]);
		}

		public int getIndexOfChild(Object parent, Object child) { //bekommt parent und object Kind
			String[] children = ( (myFile) parent).list();
			if (children == null)return -1; //wenn kinder 0 dann ende -1
	  		String childname = ( (myFile) child).getName(); //String name des Kindes ist

			for (int i = 0; i > children.length; i++) {
				if (childname.equals(children[i]))return i;
			}
			return -1;
		}

		public void valueForPathChanged(TreePath path, Object newvalue) {} // Wird aufgerufen, wenn der Wert für den Pfad geändert wurde.

		public void addTreeModelListener(TreeModelListener l) {
			listeners.add(l);
		} 
		
		
		public void removeTreeModelListener(TreeModelListener l) {} // Entfernt den Listener        

	}
 

abollm

Top Contributor
Schau dir 'mal folgenden Code an, vielleicht hilft er dir ja:
Code:
import java.awt.*;
//import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.util.*;

public class FileTreeModel extends JFrame {
	Vector nodes = new Vector();

	DefaultMutableTreeNode root = new DefaultMutableTreeNode("Wurzelknoten");

	DefaultTreeModel dtm = new DefaultTreeModel(root);

	JTree jt = new JTree(dtm);

	JCheckBox jcb = new JCheckBox("Erweiterung möglich");

	Random r = new Random();

	int nodeCount = 0;

	public FileTreeModel() {
		super("Strukturbaumtest");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container content = getContentPane();
		addNode(root, 0);
		content.add(jcb, BorderLayout.NORTH);
		content.add(new JScrollPane(jt), BorderLayout.CENTER);
		jt.addTreeWillExpandListener(new TreeWillExpandListener() {
			public void treeWillCollapse(TreeExpansionEvent tse) {
			}

			public void treeWillExpand(TreeExpansionEvent tse)
					throws ExpandVetoException {
				if (jcb.isSelected())
					return;
				TreeNode tn = (TreeNode) tse.getPath().getLastPathComponent();
				Enumeration e = tn.children();
				boolean expand = false;
				while (!expand && e.hasMoreElements()) {
					if (((TreeNode) e.nextElement()).getChildCount() != 0)
						expand = false;
				}
				if (!expand)
					throw new ExpandVetoException(tse);
			}
		});
		setSize(400, 400);
	}

	private void addNode(DefaultMutableTreeNode parent, int level) {
		int cnt = r.nextInt(4) + 4 - level;
		for (int i = 0; i < cnt; i++) {
			DefaultMutableTreeNode node = new DefaultMutableTreeNode("Knoten "
					+ nodeCount++);
			parent.add(node);
			nodes.add(node);
			addNode(node, level + 1);
		}
	}

	public static void main(String[] args) {
		new FileTreeModel().setVisible(true);
	}
}
 
J

Jason

Gast
Hmm naja nicht so richtig.

Könnt ich nicht eine Selektion im Model machen so das nur Ordner ausgewählt werden?
 
R

Roar

Gast
ich ha bden code uzwar nicht gelesen, aber irgendwo wirst du ja die dateien aus den directories laden. und wenn du dann dein array von Files hast geh das array durch und überprüfe mit File#isDirectory() ob das n ordner is. wenn ja _> in JTree wenn nein > nix
 

tingel

Mitglied
Ich glaube zwar nicht, dass die Frage noch aktuell ist, aber falls jemand nochmal so eine Lösung hier sucht, schreibe ich mal Anlenung an den Code und der Bemerkung von Roar meine Lösung:
Code:
public Object getChild(Object parent, int index) { // bekommt parent und Index des gesuchten Kind-Knotens und liefert Object Kind-Knoten 
         String[] children = ( (myFile) parent).list(
         new FilenameFilter() {
            public boolean accept(File f, String s){
                File check;
                if(f.toLowerCase().endsWith(System.getProperty(file.separator)))
                    check = new File(f+s);
                else
                    check = new File(f+"\\"+s);
                if(check.isDirectory())
                    return true;
                return false;
            }
         }); //gibt String Liste von parent 
         if ( (children == null) || (index >= children.length))return null; 
         return new myFile( (myFile) parent, children[index]); 
      }
Dieser Code muss bei allen list() im TreeModel eingetragen werden. Dann hat man einen Tree nur mit Ordnern
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JavaFX (Tree)TableView korrekt drucken AWT, Swing, JavaFX & SWT 1
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
I JavaFX BorderPane ins Tree einfügen AWT, Swing, JavaFX & SWT 11
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
T SWT Warum ist mein 1.Tree Node selektiert? AWT, Swing, JavaFX & SWT 11
O Tree path expandieren AWT, Swing, JavaFX & SWT 2
Madlip SWT Tree mit einen Klick alles ausklappen AWT, Swing, JavaFX & SWT 3
J Knotenselect von bestimmten Knoten im Tree AWT, Swing, JavaFX & SWT 2
L SWT tree elemente markieren AWT, Swing, JavaFX & SWT 4
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
L SWT Tree reagieren BEVOR selektiert wurde AWT, Swing, JavaFX & SWT 2
S SWT tree collapse AWT, Swing, JavaFX & SWT 4
W SWT Resize Tree-Element AWT, Swing, JavaFX & SWT 3
S Dropdown menu / tree AWT, Swing, JavaFX & SWT 7
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
G Swing Tree wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
A Swing JTree Tree Node löschen AWT, Swing, JavaFX & SWT 2
K SWT und Tree, wie kann ich TreeItem aus einem Tree entfernen? AWT, Swing, JavaFX & SWT 12
G SWT Tree AWT, Swing, JavaFX & SWT 4
S Tree - ArrayList Zuordnung! AWT, Swing, JavaFX & SWT 13
G Bezeichungen im Tree werden durch . gekürzt? AWT, Swing, JavaFX & SWT 5
G Drag And Drop von Component (List, Tree) zum Desktop AWT, Swing, JavaFX & SWT 2
T TREE AWT, Swing, JavaFX & SWT 3
T Tree AWT, Swing, JavaFX & SWT 2
G tree.setSize tut nicht AWT, Swing, JavaFX & SWT 5
S SWT Tree AWT, Swing, JavaFX & SWT 3
U Baum/Tree nach Benutzer anzeigen AWT, Swing, JavaFX & SWT 3
L Renderer mit nativen komponenten in tabelle / tree / list AWT, Swing, JavaFX & SWT 4
R Tree automatisch öffnen AWT, Swing, JavaFX & SWT 7
N Tree automatisch öffnen AWT, Swing, JavaFX & SWT 2
J [SWT] alle Zellen in einem Tree einzeln selektieren AWT, Swing, JavaFX & SWT 2
S TableTree - Tree nicht in erster Spalte AWT, Swing, JavaFX & SWT 5
R Tree-Struktur in einer DB abspeichern AWT, Swing, JavaFX & SWT 15
R Klick in einem Tree erkennen und auswerten AWT, Swing, JavaFX & SWT 6
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
S [S] custom tree componente AWT, Swing, JavaFX & SWT 8
C tree action AWT, Swing, JavaFX & SWT 8
G Tree und expand eines bekannten Pfades AWT, Swing, JavaFX & SWT 5
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
R Nur Verzeichnisse im Tree? AWT, Swing, JavaFX & SWT 5
G verzeichnis tree erstellen AWT, Swing, JavaFX & SWT 2
V Tree Ausgabe Problem AWT, Swing, JavaFX & SWT 2
JavaSchmecktLecker JavaFX JavaFX Ordner automatisch verlinken AWT, Swing, JavaFX & SWT 2
T src ordner erstellen AWT, Swing, JavaFX & SWT 6
izoards Ordner Rekursiv kopieren - Fortschritt? AWT, Swing, JavaFX & SWT 5
K JavaFX Bildergalerie aus Image Ordner laden AWT, Swing, JavaFX & SWT 3
VPChief Eclipse: Projekt mit src ordner exportieren. AWT, Swing, JavaFX & SWT 76
F JavaFX PNG aus einem resource Ordner laden AWT, Swing, JavaFX & SWT 8
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
M Kamerabilder in ein Ordner speichern AWT, Swing, JavaFX & SWT 12
D Objekte einer Oberfläche in eine Datei/Ordner speichern AWT, Swing, JavaFX & SWT 9
T Image aus "nicht-src-ordner" AWT, Swing, JavaFX & SWT 5
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
D Applet FTP Ordner kopieren AWT, Swing, JavaFX & SWT 3
S Ordner mit Bildern laden AWT, Swing, JavaFX & SWT 2
J alle Ordner in einem Ordner anzeigen(Jlist) AWT, Swing, JavaFX & SWT 44
T Ordner öffnen nach Klick auf einen Button AWT, Swing, JavaFX & SWT 3
L Swing Bilder im Icons-Ordner AWT, Swing, JavaFX & SWT 4
C Swing Mit jTree ein Ordneröffnen Dialog machen? Und Ordner Inhalt auslesen? AWT, Swing, JavaFX & SWT 4
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
G JFile Chooser "Buttons" wie Neuen Ordner erstellen AWT, Swing, JavaFX & SWT 3
S [ANT] jsch jar aus einem anderen Ordner laden AWT, Swing, JavaFX & SWT 7
G 2 Ordner namens org einbinden müssen AWT, Swing, JavaFX & SWT 18
E Duch jFileChooser oä. einen Ordner Pfad angeben AWT, Swing, JavaFX & SWT 3
G Ordner schließen AWT, Swing, JavaFX & SWT 2
J Ordner öffnen mit JFileChooser AWT, Swing, JavaFX & SWT 2
H grafiken aus bestimmtem ordner anzeigen AWT, Swing, JavaFX & SWT 8
M Datein ordner öffnen AWT, Swing, JavaFX & SWT 2
S JFileChooser // Neuer Ordner anlegen deaktiviert! AWT, Swing, JavaFX & SWT 2
R JTree Ordner anstatt Blatt anzeigen AWT, Swing, JavaFX & SWT 14
S Mit JFilechooser kompletten Ordner auslesen? AWT, Swing, JavaFX & SWT 5
S Ordner vor Dateiumbenennung überprüfen AWT, Swing, JavaFX & SWT 9
G JTree: Ordner erstellen AWT, Swing, JavaFX & SWT 3
B jtree mit files und ordner AWT, Swing, JavaFX & SWT 5
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
W Kleine Sub-Tabelle in SpreadsheetView-Zelle anzeigen AWT, Swing, JavaFX & SWT 9
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
M Swing Bilder in Swing anzeigen AWT, Swing, JavaFX & SWT 9
J BufferedImages nacheinander als Video anzeigen AWT, Swing, JavaFX & SWT 14
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
Lukas2904 Swing ID von WLAN Kamera anzeigen lassen. AWT, Swing, JavaFX & SWT 2
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
G AWT AWT Kreise permanent anzeigen AWT, Swing, JavaFX & SWT 3
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
O Timer in JOptionPane anzeigen AWT, Swing, JavaFX & SWT 2
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
C JavaFX Veränderungen in Scenebuilder in Eclipse als Quellcode anzeigen lassen AWT, Swing, JavaFX & SWT 11
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben