Как создать и заполнить дерево

Этот совет Java Swing иллюстрирует метод создания и наполнения дерево. Простой тест, чтобы увидеть, как мы можем построить дерево и заполнить ее. Это приложение также использует пользовательский подготовки отчетов и редакторов.


import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.tree.*;

import java.util.*;



public class EmailTree extends JFrame {



  JTree tree;

  String[][] addresses = {

    {"

"
"

"
"

"
},

    {"

"
},

    {"

"
"

"
},

    {"

"
},

    {"

"
"

"
},

    {"

"
}

  };



  public EmailTree() {

    super("Hashtable Test");

    setSize(400300);

    setDefaultCloseOperation(EXIT_ON_CLOSE);  // 1.3 & higher

    // addWindowListener(new BasicWindowMonitor());  // 1.1 & 1.2

  }



  public void init() {

    Hashtable h = new Hashtable();

    Hashtable paul = new Hashtable();

    paul.put("Work", addresses[0]);

    paul.put("Home", addresses[1]);

    Hashtable damian = new Hashtable();

    damian.put("Work", addresses[2]);

    damian.put("Pager", addresses[3]);

    damian.put("Home", addresses[4]);

    Hashtable angela = new Hashtable();

    angela.put("Home", addresses[5]);

    h.put("Paul", paul);

    h.put("Damian", damian);

    h.put("Angela", angela);

    tree = new JTree(h);



    DefaultTreeCellRenderer renderer = 

      (DefaultTreeCellRenderer)tree.getCellRenderer();

    renderer.setOpenIcon(new ImageIcon("mailboxdown.gif"));

    renderer.setClosedIcon(new ImageIcon("mailboxup.gif"));

    renderer.setLeafIcon(new ImageIcon("letter.gif"));

    EmailTreeCellEditor emailEditor = new EmailTreeCellEditor();

    DefaultTreeCellEditor editor = new DefaultTreeCellEditor(

      tree, renderer, emailEditor);

    tree.setCellEditor(editor);

    tree.setEditable(true);



    getContentPane().add(tree, BorderLayout.CENTER);

  }



  public static void main(String args[]) {

    EmailTree tt = new EmailTree();

    tt.init();

    tt.setVisible(true);

  }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>