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] -------------------------------------------------------------------------
