Ansicht des JTree ändern?

Status
Nicht offen für weitere Antworten.

Angel4585

Bekanntes Mitglied
Hallo,

wie kann ich mit NetBeans die Ansicht des JTree ändern?
Also ich möchte keine Ordner und Dateien mehr, sondern dieses + oder was ähnliches.

Danke schonmal

Angel
 
Also ich hab jetzt den Code irgendwo gesehn:

Code:
  new DefaultTreeCellRenderer() {
                  final ImageIcon TEST_ICON = new ImageIcon("c:/test.gif");
                  public Component getTreeCellRendererComponent(JTree tree,
                          Object value, boolean sel, boolean expanded, boolean leaf,
                          int row, boolean hasFocus) {
                      setLeafIcon(TEST_ICON);
                      return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
                  }
              }

Wenn ich den im OI der JTree bei CellRenderer eintrage bekomme ich aber die Fehler

Compiling 1 source file to D:\Projekte\Java\MaWeSoft\DeskKom\MaWeDesk\build\classes
D:\Projekte\Java\MaWeSoft\DeskKom\MaWeDesk\src\mawedesk\BuddyListFrame.java:39: cannot find symbol
symbol: class ImageIcon
final ImageIcon TEST_ICON = new ImageIcon("c:/test.gif");
D:\Projekte\Java\MaWeSoft\DeskKom\MaWeDesk\src\mawedesk\BuddyListFrame.java:39: cannot find symbol
symbol: class ImageIcon
final ImageIcon TEST_ICON = new ImageIcon("c:/test.gif");


//EDIT: Ach ich Hans ich sollte die ImageIcon importieren :lol:
 
ok, aber wie kann ich jetzt in diesem teil auf ein Objekt das dem TreeNode zugeordnet ist zugreifen, bzw wie muss ich ein Objekt dem Node zuweisen? Also welcher Eigenschaft?
 
Code:
usertree.setCellRenderer(  new DefaultTreeCellRenderer() {
            final ImageIcon ONLINE_ICON = new ImageIcon("c:/online.jpg");
            final ImageIcon OFFLINE_ICON = new ImageIcon("c:/offline.jpg");
            final ImageIcon GROUP_ICON = new ImageIcon("c:/group.jpg");

            public Component getTreeCellRendererComponent(JTree tree,
                Object value, boolean sel, boolean expanded, boolean leaf,
                int row, boolean hasFocus) {
                try{
                    MaWeBuddyNode node = (MaWeBuddyNode)value;
                    if(node.getParent()!=null){
                        Integer nt = node.getNodeType();
                        if (nt == MaWeBuddyTree.C_USER_NODE) {
                            if(node.getStatus()==MaWeBuddyTree.C_IS_ONLINE)
                            setLeafIcon(ONLINE_ICON);
                            else setLeafIcon(OFFLINE_ICON);

                        }else{
                            setClosedIcon(GROUP_ICON);
                            setOpenIcon(GROUP_ICON);
                        }
                        //setTitle(node.getName());
                        setName(node.getName());
                    }
                }catch(Exception e){}
                return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
            }
        });

Das habe ich jetzt bei CellRenderer drin.
Ich habe einen eigenen Tree Namens MaWeBuddyTree und eigene Nodes MaWeBuddyNode.

Habe jetzt allerdings das problem das mir anstatt dem Namen der Nodes programm.MaWeBuddyNode@1b10d42 angezeigt wird.

Was für eine Funktion wird benötigt um den Namen ausgeben, sprich, was muss ich in dieser Renderer Funktion oder bei meinen Nodes einfügen damit die der Name ausgegeben wird?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben