Hallo!
Ich habe keine Ahnung ob sich jemand mit der SAP auskennt. Tatsache ist aber, dass
der IMG-Leitfaden für Customizing aus einer Art unvorstellbar großen Baumstruktur
aus vielen verzweigten Knoten besteht. Es ist nahezu unmöglich sich
die Pfade zu merken. Zuhause kann man nicht üben weil man kein SAP daheim hat. Ich möchte deswegen mit einem JTree die Struktur des IMG-Leitfadens für Customizing
nachbilden. Ich möchte eine kleine Suchfunktion einbauen mit der ich innerhalb dieses
Baums nach bestimten Knoten suchen kann.
Wie könnte ich die Suche Javatechnisch(Programmtechnisch) umsetzen?
Gibt es eine spez. Funktion (aus der API) mit der ich man in JTree suchen kann?
Hier der Code: (Knotenbezeichnungen sind frei erfunden)
Ich habe keine Ahnung ob sich jemand mit der SAP auskennt. Tatsache ist aber, dass
der IMG-Leitfaden für Customizing aus einer Art unvorstellbar großen Baumstruktur
aus vielen verzweigten Knoten besteht. Es ist nahezu unmöglich sich
die Pfade zu merken. Zuhause kann man nicht üben weil man kein SAP daheim hat. Ich möchte deswegen mit einem JTree die Struktur des IMG-Leitfadens für Customizing
nachbilden. Ich möchte eine kleine Suchfunktion einbauen mit der ich innerhalb dieses
Baums nach bestimten Knoten suchen kann.
Wie könnte ich die Suche Javatechnisch(Programmtechnisch) umsetzen?
Gibt es eine spez. Funktion (aus der API) mit der ich man in JTree suchen kann?
Hier der Code: (Knotenbezeichnungen sind frei erfunden)
Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.awt.event.*;
class SimpleTree extends JFrame implements ActionListener
{
JMenu mnuErzeugen;
JMenuBar menueLeiste;
JToolBar tb;
JMenuItem mnuSpeichern;
JMenuItem suchen;
public static void main(String[] args)
{
new SimpleTree();
}
public SimpleTree()
{
super("Test");
menueLeiste = new JMenuBar();
setJMenuBar(menueLeiste);
tb = new JToolBar("XYZ");
getContentPane().add(tb, BorderLayout.PAGE_START);
JMenu mnuDatei = new JMenu("Datei");
suchen = new JMenuItem("Suchen");
suchen.addActionListener(this);
mnuDatei.add(suchen);
menueLeiste.add(mnuDatei);
WindowUtilities.setNativeLookAndFeel();
addWindowListener(new ExitListener());
Container content = getContentPane();
Object[] hierarchy =
{
"IMG-Customizing",
new Object[] {"Vertrieb","Zwei","Drei",
new Object[] { "Vertrieb","Zwei","Drei" },
},
"Allgemeine Daten",
"Infosystem",
"Auswertung",
"Lieferanten",
new Object[] { "Logistik",
"Lager",
"Vertriebsbereich",
"Sparte", "Grid" },
new Object[] { "Allgemein Logistik",
new Object[] { "Kunden","Stammdaten","keine Stammdaten",
new Object[] { "Weltall","Mond","Stern Planet" ,
new Object[] { "Geyik","Maus","Salak"
}
}
},
"Versandstelle"
},
"Abgrenzung",
"Fabrikkalender" ,
new Object[] { "Rechnungswesen","Y","V", "W" }
};
DefaultMutableTreeNode root = processHierarchy(hierarchy);
JTree tree = new JTree(root);
content.add(new JScrollPane(tree), BorderLayout.CENTER);
setSize(400, 850);
setVisible(true);
}
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == suchen )
{
System.out.println("sdsdsdsdsdsd");
}
}
private DefaultMutableTreeNode processHierarchy(Object[] hierarchy) {
DefaultMutableTreeNode node =
new DefaultMutableTreeNode(hierarchy[0]);
DefaultMutableTreeNode child;
for(int i=1; i<hierarchy.length; i++) {
Object nodeSpecifier = hierarchy[i];
if (nodeSpecifier instanceof Object[])
child = processHierarchy((Object[])nodeSpecifier);
else
child = new DefaultMutableTreeNode(nodeSpecifier);
node.add(child);
}
return(node);
}
}