Node in Tree suchen

Peter1964

Neues Mitglied
Liebe leute,

ich programmiere mit Java. momentan binich an einem Program dran. dort habe ich ein tree, ich möchte wenn ich im feld etwas reinschreibe und button suche klicke dies dann im tree gesucht wird. wenn es kein node mt diesem inhalt gibt soll es mireine fehlermedlug machen,


ich habe alles probiert es geht einfach nicht bitte um schnelle hilfe ist sehr dringend

danke im voraus....

Peter
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    6,2 KB · Aufrufe: 11

Gaby Salvisberg

Super-Moderator
Hallo Peter1964 - und willkommen im PCtipp-Forum

Wirst du danach auch grundlos deine Posts leeren/löschen, wie es deine - ähm - "Vorgängerin" zum selben Thema getan hat? Das würde dem Punkt 2K) in den Nutzungsbedingungen widersprechen.

Ich hoffe mal, du bist nicht dieselbe Person mit neuen Kleidern ;)

Herzliche Grüsse

Gaby
 

Nebuk

PCtipp-Moderation
Teammitglied
Nach was möchtest du denn suchen?
Nach den Namen der Knoten?

Gruss Nebuk

PS. Ich frage mich noch immer für was man diesen "Tree" braucht... Ich habe ihn noch nie benützt. Weshalb hast du dich/ihr euch eigentlich dafür entschieden? Es gibt ja bestimmt einfachere/bessere Alternativen.
 

Peter1964

Neues Mitglied
Hallo Nebuk,

also du hast ja gesehen A;B;2 / A;B;4 usw...

wenn ich im feld beispielsweise B reinschreibe und dann auf suchen klikce, sollen alle nodes fett werden wo dies steht, oder wenn ich 2 schreibe und dann auf suche klicke so wird nur der erste node makiert... verstehst du was ich meine.. ich habe da schon einges im internet gefunden konnte dies aber nicht umsetzen

einen tree habe ich genommen weil ich finde, dass es besser aussieht, was würdest du vorschlagen?


PHP:
jButton1.addActionListener(new ActionListener() 
{
  public void actionPerformed(ActionEvent e) {
    DefaultMutableTreeNode node = searchNode(jTextField5.getText());
    if (node != null) {
      TreeNode[] nodes = m_model.getPathToRoot(node1);
      TreePath path = new TreePath(nodes);
      jTree1.scrollPathToVisible(path);
      jTree1.setSelectionPath(path);
    } else {
      System.out.println("inhalt " + jTextField5.getText() + " konnte nicht gefunden werden");
    }
  });
  //searchPanel.add(jButton1);
}

public DefaultMutableTreeNode searchNode(String nodeStr) 
{
  DefaultMutableTreeNode node = null;
  Enumeration e = treeNode1.breadthFirstEnumeration();
  while (e.hasMoreElements()) 
  {
    node = (DefaultMutableTreeNode) e.nextElement();
    if (nodeStr.equals(node.getUserObject().toString())) 
    {
    return node;
    }
  }
  return null;
}

[Mod-Edit: Code-Tags zwecks besserer Darstellung eingefügt]
[Mod-Edit2: Klammerfehler korrigiert und Darstellung nochmals angepasst.
 
Zuletzt bearbeitet von einem Moderator:

Nebuk

PCtipp-Moderation
Teammitglied
Kommt auf den Anwendungsfall an. Das hier sieht einfach aus wie ein Explorer.

Wo hapert es denn, wenn du schreibst du hättest schon einiges im Netz gefunden was dir dabei helfen könnte?
 

Peter1964

Neues Mitglied
Tja das problem ist das ich es bei mir leider nciht funktioniert wie ich möchte...ich habe diesen code .. der macht aber auch nicht das was ich möchte...
 

Nebuk

PCtipp-Moderation
Teammitglied
Falls du ihn genau so kopiert hast wie du ihn gepostet hast, wundert es mich, dass du es zum laufen gebracht hast... oO

Du hast nämlich eine Klammer zuviel drinnen gehabt. Was macht es denn, wenn du es ausführst? Wird etwas nicht richtig dargestellt? Bekommst du eine Fehlermeldung? etc.
Je mehr Infos du lieferst, desto besser/schneller kann dir geholfen werden
 
Oben