《java核心技术》这本书上有例子。

解决方案 »

  1.   

    这是一个Access的数据库数据生成tree的小例子,希望对你有帮助
    import java.sql.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.awt.*;
    import java.awt.event.*;class AccessDBTest {
      public static void main(String args[]) {
        JFrame frame = new AccessDBTestFrame();
        frame.show();
      }
    }class AccessDBTestFrame
        extends JFrame {
      AccessDBTestFrame() {
        setTitle("ViewDB");
        setSize(400, 300);    readTree();    JTree tree = new JTree(root);
        tree.setEditable(true);
        Container contentPane = getContentPane();
        contentPane.add(new JScrollPane(tree), BorderLayout.WEST);    JButton button = new JButton();
        button.addActionListener(
            new ActionListener() {
          public void actionPerformed(ActionEvent event) {
            try {
              conn = getConnection();
              stat = conn.createStatement();
              //add new
              ResultSet rs = stat.executeQuery("INSERT INTO Publishers (Publisher_Id,Name,URL) VALUES(00219,'China Machine Press','www.machine.com')");
              stat.close();
              conn.close();
              readTree();
            }
            catch (Exception ex) {
              ex.printStackTrace();
            }
          }
        }
        );
        JPanel panel = new JPanel();
        panel.add(button);    contentPane.add(panel);
      }  public static Connection getConnection() throws SQLException {
        System.setProperty("jdbc.drivers", "sun.jdbc.odbc.JdbcOdbcDriver");
        String url = "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=" +
            "AccessDB.mdb";
        return DriverManager.getConnection(url, "", "");
      }  public void readTree() {
        try {
          conn = getConnection();
          stat = conn.createStatement();      //setup tree model root
          root = new DefaultMutableTreeNode("Books");
          ResultSet rs = stat.executeQuery("SELECT Name FROM Publishers");
          while (rs.next()) {
            DefaultMutableTreeNode node = new DefaultMutableTreeNode(rs.getString(1));
            root.add(node);
          }
          stat.close();
          conn.close();
        }
        catch (Exception ex) {
          JOptionPane.showMessageDialog(this, ex);
        }
      }  private Connection conn;
      private Statement stat;
      private DefaultMutableTreeNode root;
    }