Valeu pela for�a Sven. Agora sim.. Pois antes eu estava + perdido que
cebola em salada de fruta...

   [ ]�s

-----Urspr�ngliche Nachricht-----
Von: Sven van �t Veer [mailto:[EMAIL PROTECTED]]
Gesendet am: Montag, 09. Juli 2001 22:21
An: [EMAIL PROTECTED]
Betreff: Re: [java-list] Exemplo...

package panels;

import javax.swing.*;
import java.awt.*;
import com.borland.dx.sql.dataset.*;
import com.borland.dbswing.*;
import br.com.cilix.shadow.util.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import br.com.cilix.shadow.client.util.*;



public class ConsultaCargaPanel extends JPanel {
  JSplitPane jSplitPane1 = new JSplitPane();
  JScrollPane treeScrollPane = new JScrollPane();
  BorderLayout borderLayout1 = new BorderLayout();
  DefaultMutableTreeNode top = new DefaultMutableTreeNode("Agendamentos");
  DefaultMutableTreeNode parents[];
  JTree cargaTree = new JTree(top);
  Database ShadowDataBase = new Database();
  QueryDataSet cargas = new QueryDataSet();
  DBDisposeMonitor dBDisposeMonitor1 = new DBDisposeMonitor();
  CargaInfoPanel cargaInfoPanel = new CargaInfoPanel(this);

  public ConsultaCargaPanel() {
   try {
     jbInit();
   }
   catch(Exception e) {
     e.printStackTrace();
   }
  }

  private void jbInit() throws Exception {
   this.setLayout(borderLayout1);
   dBDisposeMonitor1.setDataAwareComponentContainer(this);
   ShadowDataBase.setConnection(new 
com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:oracle:thin:@1.2.3.4:1
521:test", 
"test", "test", false, "oracle.jdbc.driver.OracleDriver"));
   cargas.setQuery(new 
com.borland.dx.sql.dataset.QueryDescriptor(ShadowDataBase, "select * 
from agenda_carga", null, true, Load.ALL));
   createNodes();
   cargaTree.addTreeSelectionListener(new 
ConsultaCargaPanel_cargaTree_treeSelectionAdapter(this));
   jSplitPane1.setDividerSize(5);
   cargaTree.setShowsRootHandles(true);
   this.add(jSplitPane1, BorderLayout.CENTER);
   jSplitPane1.add(treeScrollPane, JSplitPane.LEFT);
   treeScrollPane.getViewport().add(cargaTree, null);
   jSplitPane1.add(cargaInfoPanel, JSplitPane.RIGHT);
   jSplitPane1.setDividerLocation(150);
  }

  public void recreateTree(){
   treeScrollPane.getViewport().remove(cargaTree);
   top = new DefaultMutableTreeNode("Agendamentos");
   parents = null;
   cargaTree = new JTree(top);
   try{
     createNodes();
   } catch (Exception ex){
     ex.printStackTrace();
   }
   cargaTree.addTreeSelectionListener(new 
ConsultaCargaPanel_cargaTree_treeSelectionAdapter(this));
   treeScrollPane.getViewport().add(cargaTree, null);
   cargaTree.setShowsRootHandles(true);
   cargaTree.validate();
  }

  private void createNodes(){
   parents = new DefaultMutableTreeNode[4];
   for (int i = 0; i <= 3; i++){
     try{
       parents[i] = new DefaultMutableTreeNode(Periocidade.get(i));
       top.add(parents[i]);
     } catch (PeriocidadeException ex){
       ex.printStackTrace();
     }
   }
   try{
     if (!cargas.isOpen()){
       cargas.open();
     }
     cargas.refresh();
     if (cargas.isEmpty()){
       return;
     }
     cargas.first();
     do{
       int p = Periocidade.get(cargas.getString("periodicidade"));
       java.sql.Timestamp t = cargas.getTimestamp("data");
       int id = cargas.getBigDecimal("agenda_carga_id").intValue();
       String date = t.toString();
       IntegerValueMutableTreeNode n = new 
IntegerValueMutableTreeNode(date, id, false);
       parents[p].add(n);
     } while(cargas.next());
   } catch (com.borland.dx.dataset.DataSetException ds_ex){
     ds_ex.printStackTrace();
   }
  }

  void cargaTree_valueChanged(TreeSelectionEvent e) {
   Object dtn = cargaTree.getLastSelectedPathComponent();
   if (dtn instanceof IntegerValueMutableTreeNode){
     IntegerValueMutableTreeNode tn = (IntegerValueMutableTreeNode)dtn;
     TreePath pn = (TreePath)cargaTree.getLeadSelectionPath();
     if (tn.isLeaf()){
       int id = tn.getValue();
       this.cargaInfoPanel.getInfo(id);
     }
   }
  }
}

class ConsultaCargaPanel_cargaTree_treeSelectionAdapter implements 
javax.swing.event.TreeSelectionListener {
  ConsultaCargaPanel adaptee;

  ConsultaCargaPanel_cargaTree_treeSelectionAdapter(ConsultaCargaPanel 
adaptee) {
   this.adaptee = adaptee;
  }
  public void valueChanged(TreeSelectionEvent e) {
   adaptee.cargaTree_valueChanged(e);
  }
}

Spuldaro Marcelo-Henriqu wrote:

> Boa tarde,
> 
>   Algu�m poderia me enviar algum exemplo que utilize JTree + splitPane!!??
> 
>   O meu problema � +- o seguinte: Quando seleciono uma das op��es do lado
> esquedo da splitPane, quero mostrar algumas informa��oes no lado direito.
> Empaquei na hora de saber como achar o �ndice ou algo parecido para saber
a
> posi��o do registro. Ex:
> No lado esquerdo, tenho os nomes de pessoas (que podem ter folhos, ou
seja,
> um novo NODE), e gostaria de que quando fosse clicado sobre ela (ou algum
> filho quando existir), todos os dados do selecionado, tipo Endere�o,
> Nascimento, ... etc..
> 
>    Obrigado.
> 
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
> d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 
> 


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a