Vamos lá ao problema,
Tenho um exemplo de código de um cooperador do fórum,
//Classe LivroTreeModel
public void adicionarLivro(Livro livro)
{
livros.add(livro);
fireLastPathComponentInserted(fakeRoot, livro);
}
public void adicionarAutor(Livro livro, Autor autor)
{
livro.addAutor(autor);
fireLastPathComponentInserted(fakeRoot, livro, autor);
}
public void removerLivro(Livro livro)
{
if (livros.remove(livro))
{
fireLastPathComponentRemoved(fakeRoot, livro);
}
}
No caso acima, a árvore só possui 2 níveis, o de Livro e de Autores, portanto, ou se adiciona um Livro no nível 0, ou um Autor no nível 1.
Para adicinar um livro, é só adicionar um objeto na List livro e usar o FireLastPathComponentInserted, e no caso de um Autor é só adcionar dentro de um objeto Livro que possui uma list de Autor.
No meu caso, a árvore é feita de objetos do tipo Contas, cada conta tem uma classificação, por exemplo
Conta1 = classificação 1
Conta2 = classificação 2
Conta3 = classificação 1.1
Conta4 = classificação 1.1.1
Conta5 = classificação 2.1
Conta6 = classificação 1.1.2
A estrutura da árvore ficaria assim,
1-|
| |- 1.1-
| | |-1.1.1
| | |-1.1.2
|
2-|
| |- 2.1
Mas não consegui imaginar um meio para fazer um método de inserção desse meu TreeModel.
No Banco os dados se encontram da seguinte maneira
Conta | Class | Parent
Conta1 | 1 | X
Conta2 | 2 | X
Conta3 | 1.1 | 1
Conta 4 | 1.1.1 | 1.1
Gostaria de saber um maneira de fazer a inserção dessas Contas na Árvore.
Por exemplo, existe um meio de obter o path do node selecionado e adicioná-lo.
Obrigado!