Jtree populate from sql query issue

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Jtree populate from sql query issue

ciprian22041
I am trying to create a tree from from a sql database. I added a search button with a jtext. I have set a default value for the text. I have the following structure:
land - which is the main node
parcel - which is under the land
building - which is under the land

When I press the button I would like to automatically update the tree

Could you give some ideas?

I have the following code:

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.UIManager;
import javax.swing.border.BevelBorder;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.Dimension;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JMenu;
import javax.swing.JLabel;
import java.awt.Font;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.sql.*;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;


public MPrincip_CG() {
               
                FillDataToJTree_Teren();
               
public void actionPerformed(ActionEvent arg0) {
                               
                                                       
        try {
                                                       
String query_CAUTA="select * from LAND where LANDID=?";
PreparedStatement pst_CAUTA=conn.prepareStatement(query_CAUTA);
pst_CAUTA.setString(1, textCAUTA.getText());
                                                       
                                                       
ResultSet rs_CAUTA=pst_CAUTA.executeQuery();
                                                       
        try {  
                                                       
                if(rs_CAUTA.next())
                                                                                                               
                        {
                textSECTOR.setText(rs_CAUTA.getString("SectorCadastral"));
                textETERRA.setText(rs_CAUTA.getString("E2Identifier"));
                textSUPMAS.setText(rs_CAUTA.getString("MeasuredArea"));
                textSUPACT.setText(rs_CAUTA.getString("ParcelLegalArea"));
                                                        }
                                                       
                                       
                else{
                                                                JOptionPane.showMessageDialog(null, "NUMAR CADASTRAL INEXISTENT");}
                                                        }
                                               
                                                        catch (Exception e)
                                                        {
                                                                JOptionPane.showMessageDialog(null, "Conexiune esuata");
                                                               
                                                }
                                                        }
                                                catch (Exception e)
                                                {
                                                        JOptionPane.showMessageDialog(null, "Conexiune esuata");
                                                       
                                        }
                                               
                                                        }
public void FillDataToJTree_Teren() {
       
        cat_tree= new javax.swing.JTree();

       
        DefaultMutableTreeNode teren = new DefaultMutableTreeNode("Teren");
       

       
        try {

        try {
            conn = sqlConnection.dbConnector();
            stm = conn.createStatement();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
     ArrayList listaparcele = new ArrayList();
     listaparcele.add("Parcele");
     String sql = "SELECT * from parcel ";
   // PreparedStatement sql_parcela=conn.prepareStatement(sql);
  //   sql_parcela.setString(1, textCAUTA.getText());

   
        ResultSet rs = stm.executeQuery(sql);

        while (rs.next()) {
            Object value[] = {rs.getString(1), rs.getString(2)};
            listaparcele.add(value);
        }
        Object hierarchy[] = listaparcele.toArray();
        DefaultMutableTreeNode root = processHierarchy(hierarchy);
               
   
       
        //////////////// CONSTRUCTII
       
       
        ArrayList listaCO = new ArrayList();
        listaCO.add("Constructii");
        String sql2 = "SELECT * from BUILDING";
     //  PreparedStatement sql2_const=conn.prepareStatement(sql2);
       
     //  sql2_const.setString(1, textCAUTA.getText());
       
       
        ResultSet rs_CO = stm.executeQuery(sql2);
       
        while (rs_CO.next()) {
            Object value_CO[] = {rs_CO.getString(1), rs_CO.getString(2)};
            listaCO.add(value_CO);
        }
        Object hierarchy_CO[] = listaCO.toArray();
        DefaultMutableTreeNode root_CO = processHierarchy_CO(hierarchy_CO);
       
       
        //////////////// end - constructii
       
        teren.add(root);
        teren.add(root_CO);
     
    } catch (Exception e) {
    }
       
         DefaultTreeModel model1 =new DefaultTreeModel(teren);
     this.cat_tree.setModel(model1);
        }

       //////////////////////////////   **********     PARCELE

       public DefaultMutableTreeNode processHierarchy(Object[] hierarchy) {
                DefaultMutableTreeNode node = new DefaultMutableTreeNode(hierarchy[0]);
       
        try {
                 int ctrow = 0;
         int i = 0;
        try {

               

          String id = textCAUTA.getText();
          String sql = "SELECT * from parcel where landid='"+id+"'";
          PreparedStatement stm_parcela = conn.prepareStatement(sql);
        //stm_parcela.setString(1,textCAUTA.getText());
         
          ResultSet rs = stm_parcela.executeQuery();
         
          while (rs.next()) {
                   ctrow = rs.getRow();
                          }
          String L1Nam[] = new String[ctrow];
      String L1Id[] = new String[ctrow];
           ResultSet rs1 = stm_parcela.executeQuery();
           while (rs1.next()) {
               L1Nam[i] = rs1.getString("Number");
              L1Id[i] = rs1.getString("LandID");
                   i++;
               }
           
       DefaultMutableTreeNode child;
       for (int childIndex = 0; childIndex <L1Nam.length; childIndex++) {
           child = new DefaultMutableTreeNode(L1Nam[childIndex]);
           node.add(child);
       }

               
    } catch (Exception ex) {
        ex.printStackTrace();
    }

} catch (Exception e) {
}


    return (node);
}

   
/////////////////////////// -----END_PARCELE
       
///////////////////   **********     CONSTRUCTII
       
       public DefaultMutableTreeNode processHierarchy_CO(Object[] hierarchyCO) {
                DefaultMutableTreeNode node_CO = new DefaultMutableTreeNode(hierarchyCO[0]);
       
        try {
                 int ctrow_CO = 0;
        int i = 0;
        try {
         //   conn = sqlConnection.dbConnector();
        //    stm = conn.createStatement();
        //    } catch (Exception ex) {
        //  ex.printStackTrace();
       
          String sql2 = "SELECT * from BUILDING";
          ResultSet rs_CO = stm.executeQuery(sql2);
         
          while (rs_CO.next()) {
                   ctrow_CO = rs_CO.getRow();
                          }
          String L1Nam_CO[] = new String[ctrow_CO];
     String L1Id_CO[] = new String[ctrow_CO];
          ResultSet rs_CO2 = stm.executeQuery(sql2);
          while (rs_CO2.next()) {
              L1Nam_CO[i] = rs_CO2.getString("BUILDNO");
             L1Id_CO[i] = rs_CO2.getString("LandID");
                  i++;
              }
         
      DefaultMutableTreeNode child_CO;
      for (int childIndex_CO = 0; childIndex_CO <L1Nam_CO.length; childIndex_CO++) {
          child_CO = new DefaultMutableTreeNode(L1Nam_CO[childIndex_CO]);
          node_CO.add(child_CO);
      }

   } catch (Exception ex) {
       ex.printStackTrace();
   }

} catch (Exception e) {
}


   return (node_CO);
}

     
/////////////////////////// -----END_CONSTRUCTII
       
       

                                                               
Loading...