Bom dia pessoal!
Gostaria de saber como faço para inibir a visualização de uma raiz de uma JTree.
Deixa eu explicar melhor:
Montei um menu com uma tree, quebrei em módulos, e não gostaria de mostrar o nó principal, somente os nós intermediários.
Em outro post um amigo do GUJ disse que eu poderia usar o método setRootVisible(false), mas isso não funcionou.
Se puderem me ajudar, eu agradeço!
Um abraço,
Evelyn
:roll: :roll: :roll:
kaabah
Novembro 7, 2006, 12:00pm
#2
Talvez mexendo no seu DefaultMutableTreeNode…
Tem esse tutorial aí também…
http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
:idea:
Olá kaabah!
Eu dei uma olhada no tutorial que você passou…
Na verdade eu não quero mostrar na tela aquele Root, entende?
Obrigada!
Um abraço,
Evelyn
:roll: :roll: :roll:
brlima
Novembro 8, 2006, 3:21pm
#4
Código gerado pelo VE do eclipse…
Aqui o setRootVisible functiona… Acho que vc colocou seu root um nível abaixo do verdadeiro root… será não??
package sample;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.JButton;
public class JTreeFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JTree jTree = null;
private JButton jButton = null;
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setViewportView(getJTree());
}
return jScrollPane;
}
/**
* This method initializes jTree
*
* @return javax.swing.JTree
*/
private JTree getJTree() {
if (jTree == null) {
jTree = new JTree();
}
return jTree;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("SetRootVisible");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if( getJTree().isRootVisible() ){
jTree.setRootVisible(false);
}else{
jTree.setRootVisible(true);
}
}
});
}
return jButton;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JTreeFrame thisClass = new JTreeFrame();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public JTreeFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJScrollPane(), BorderLayout.CENTER);
jContentPane.add(getJButton(), BorderLayout.SOUTH);
}
return jContentPane;
}
}
olá Pétala!!!
dá uma olhada nesse código, tá funcionando.
[code]public class Pessoa {
String nome;
Pessoa(String _nome) {
nome = _nome;
}
public String toString() {
return this.nome;
}
}[/code]
[code]import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
public class Arvore extends JPanel {
private JScrollPane scrollTree;
private JTree arvore = new JTree();
private DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
private DefaultTreeModel model;
private DefaultMutableTreeNode Node1;
private DefaultMutableTreeNode Node2;
private DefaultMutableTreeNode Node3;
public Arvore() {
this.setLayout( null );
this.setSize(new Dimension(718, 178));
Node1 = new DefaultMutableTreeNode("Nodo 1");
Node2 = new DefaultMutableTreeNode("Nodo 2");
Node3 = new DefaultMutableTreeNode("Nodo 3");
for(int i=0 ; i<3 ; ++i){
Pessoa pessoa = new Pessoa("Renato");
DefaultMutableTreeNode tempNode = new DefaultMutableTreeNode(pessoa);
Node1.add(tempNode);
}
for(int i=0 ; i<3 ; ++i){
Pessoa pessoa = new Pessoa("Renato");
DefaultMutableTreeNode tempNode = new DefaultMutableTreeNode(pessoa);
Node2.add(tempNode);
}
for(int i=0 ; i<3 ; ++i){
Pessoa pessoa = new Pessoa("Renato");
DefaultMutableTreeNode tempNode = new DefaultMutableTreeNode(pessoa);
Node3.add(tempNode);
}
root.add(Node1);
root.add(Node2);
root.add(Node3);
model = new DefaultTreeModel(root);
arvore = new JTree(model);
arvore.setRootVisible(false);
arvore.setShowsRootHandles(true);
scrollTree = new JScrollPane(arvore);
scrollTree.setBounds(5,5,710,164);
this.add(scrollTree);
}
public static void main(String[] args){
JFrame frame = new JFrame();
Arvore arv = new Arvore();
frame.getContentPane().add(arv);
frame.setSize(800,300);
frame.show();
}
}[/code]