Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Java/SWT Tree

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.02.2006
    Beiträge
    40

    Java/SWT Tree

    Hallo zusammen,

    ich hab eine Fragen bzw. Tree in Java. Ich will ein Tree bauen, indem man nur die Blätter einchecken kann und die Parent sind nicht eincheckbar. Kann mir jemand sagen wie das geht

    Vielen Dank,
    dime

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    377
    Versteh ich dich richtig, du willst einen Baum, bei dem man nur in den unteren Knoten noch weitere Knoten hinzufuegen kann?

    (Irgendwie wird das dann kein Baum, du hast nen Knoten, fuegst einen Knoten hinzu, jetzt kannst du nur im letzten Knoten einen Knoten hinzufuegen, das waere ja eine Liste)

    Wenn hingegen ein Knoten mehrere Unterknoten haben kann, dann
    a) begrenze die Anzahl der moeglichen Unterknoten oder
    b) setze ein Flag, wenn keine weiteren Unterknoten mehr moeglich sind.

    Am besten du siehst dir mal ein Beispiel fuer einen Baum an:
    http://de.wikipedia.org/wiki/Bin%C3%A4rbaum

    mfg
    Amilo D - 2,8 Ghz - ATI Radeon 9000
    Debian GNU/Linux 3.1 (Sarge)

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.09.2006
    Ort
    Helsinki
    Beiträge
    154
    Moin,

    also irgendwie komme ich da auch nicht ganz mit: Was genau meinst Du mit Parent und Blatt? Die Unterscheidung gibt's eigentlich nicht, normalerweise kann aus jedem Blatt (Endpunkt) automatisch ein Parent werden, wenn Du weitere Elemente anhängst...

    Was soll denn der Baum genau verwalten? Vielleicht wird's dann klarer...

    So long,
    Liberty
    Friedliebender Soldat im ganz persönlichen Auslandseinsatz

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Und was meinst du überhaupt mit "einchecken"?
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.09.2006
    Ort
    Helsinki
    Beiträge
    154
    Zitat Zitat von mehlvogel Beitrag anzeigen
    Und was meinst du überhaupt mit "einchecken"?
    Ich tippe mal auf einchecken = einhängen. Und vielleicht meint er mit dieser Blatt/Parent-Geschichte, dass nur einzelne Knoten eingehängt/eingefügt werden können und keine ganzen Unterbäume (ich vermute mal, dass sich "subtree" so übersetzt).

    So long,
    Liberty
    Friedliebender Soldat im ganz persönlichen Auslandseinsatz

  6. #6
    Registrierter Benutzer
    Registriert seit
    28.04.2007
    Beiträge
    6
    Hi dimevit,

    es gibt verschiedene Bäume, deshalb ist es auch vielleicht etwas schwer dir zu helfen.
    Der wohl bekannteste Baum, ist der Binärbaum. Das Problem bei dem Binärbaum ist, dass er aber ausarten kann (d.h. du hast dann eigentlich keinen Baum mehr sondern eine Liste, oder z.B. der rechte Teilbaum ist viel länger ist als der linke, der rechte besitzt also mehr Elemente bzw. Knoten).
    Dann gibt es Bäume die sich selbst ausgleichen, wenn man Elemente hinzufügt (das muss man natürlich selbst programmieren). Das Selbstausgleichen geschieht dann durch Rotation. Bäume die das können sind AVL-Bäume und Red / Black Bäume und B-Bäume.


    Hier mal ein paar Links zur erklärung:
    Binärbäume: http://de.wikipedia.org/wiki/Bin%C3%A4rbaum
    AVL - Baum: http://de.wikipedia.org/wiki/AVL-Baum
    Red/Black Bäume: http://de.wikipedia.org/wiki/Rot-Schwarz-Baum
    B-Baum: http://de.wikipedia.org/wiki/B-Baum


    vielleicht hilft dir das etwas weiter.

  7. #7
    Registrierter Benutzer
    Registriert seit
    13.02.2006
    Beiträge
    40
    Hallo zusammen,

    sorry dass ich mich net so klar ausgedruckt habe.
    Hier ein beispiel:
    PHP-Code:

    Tree tree 
    = new Tree(shellSWT.CHECK SWT.BORDER);

    TreeItem treeItem0 = new TreeItem(tree0);
    treeItem0.setText("Parent");

    TreeItem treeItem1 = new TreeItem(treeItem00);
    treeItem1.setText("Item 1");

    TreeItem treeItem2 = new TreeItem(treeItem00);
    treeItem2.setText("Item 2");

    TreeItem treeItem1 = new TreeItem(treeItem00);
    treeItem3.setText("Item 3"); 
    Wenn ich so ein Tree definiere, dann haben alle Tree Elements ein Checkbox
    links stehen. Und ich will nur ,dass die Untere TreeItems in dem Fall Item 1,2 und 3 ein Checkbox haben, und dass bei Parent kein Checkbox steht.

    Kann mir da jemand helfen,
    Vielen Dank

  8. #8
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Ich kenne mich mit SWT leider gar nicht aus, aber eigentlich sollte es reichen, dem 'Parent'-Element einen anderen Style zuzuweisen. Über die Definition der Stile habe ich in der SWT-Doku auf die schnelle nichts gefunden, was m.E. gegen die doku spricht.
    Das Ziel ist das Ziel.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •