package clientarbres;
import alxtree.*;
public class AppletClientArbres extends Applet implements AlxTreeListener
{
AlxTreeContainer alxTreeContainer;
public void AppletClientArbres()
{
creationArbre();
initGraphique();
alxTreeContainer.getAlxTree().addChangeListener(this); //mieux vaut faire ça aprés la création de l'arbre
}
/** en réponse à un événement sur <code>AlxTreeContainer</code> */
public void alxTreeChanged(AlxTreeEvent ate)
{
AlxNoeud alxNoeud = ate.getAlxNoeud(); //récupère le noeud qui a subit une modification
if (alxNoeud.isFeuille()) //si c'est une feuille de l'arbre qui a généré l'événement
if (alxNoeud.isOuvert())
//code de l'ouverture d'un noeud. //on récupère l'adresse complète, du père au fils avec: alxNoeud.getChemin();
else
//code de la fermeture d'un noeud
}
}
/** exemple de création de l'arbre */
private void creationArbre()
{
AlxNoeud racine = new AlxNoeud("racine");
AlxNoeud fils1 = new AlxNoeud("fils1");
racine.addFils(fils1); //exemple d'ajout de fils
racine.addFils("fils2"); //exemple d'ajout de fils
racine.addFils(1,"fils3"); //exemple d'insertion de fils à un indice donné
racine.getFilsAt(1).addFils("petitFils1.1");
AlxNoeud temp = racine.getFilsAt(2); //accés à des fils;
AlxNoeud temp2 = racine.getFils("fils2"); //accés à des fils;
//méthode d'accés style fichier permettant de parcourir tous les fils d'un noeud
racine.resetFils(); //permet de commencer la lecture des fils au début
while(racine.hasMoreFils()) //tant qu'il y a d'autres fils
{
AlxNoeud temp = racine.getNextFils(); //récupère le fils suivant
}
alxTreeContainer = new AlxTreeContainer(new AlxTree(racine)); //création du nouvel AlxTreeContainer
}
private void initGraphique()
{
this.setLayout(new BorderLayout());
alxTreeContainer.getAlxTree().setBackground(Color.white);
this.add(alxTreeContainer, BorderLayout.CENTER);
}
}
Quitter