On reprend le TP sur l'algorithme de Kruskal pour la recherche d'un arbre couvrant de poids minimum pour en avoir une version graphique. On ne lit plus l'ensemble des points à partir d'un fichier mais en utilisant une interface graphique.
L'application pourra ressembler à l'applet ci-dessous dans laquelle il faut cliquer pour avoir des points et appuyer sur le bouton pour voir l'arbre couvrant de poids minimum :
Les numéros des sommets ne vous seront peut-être plus utiles.
On utilisera l'interface nommé Graphique dont le code est ci-dessous, que vous placerez dans un paquetage nommé kruskalGraphique.vue.
package kruskalGraphique.vue; import java.awt.Graphics; public interface Graphique { public void dessiner(Graphics g); }
On utilisera le modèle MVC (modèle-vue-contrôleur).
setChanged(); notifyObservers();dès qu'un attribut du modèle représenté graphiquement est modifié.
public void update(Observable o, Object arg) { repaint(); }et enfin que cette classe s'inscrive comme observateur de l'instance de la classe ArbreGraphique considérée par une instruction :
package kruskalGraphique.vue; import kruskalGraphique.modele.ArbreGraphique; public class AppliKruskalGraphique { public static void main(String[] arg) { ArbreGraphique arbre = new ArbreGraphique(); new FenetreArbre(arbre); } }Vous testerez les différents parties au fur et à mesure. Le modèle devrait déjà avoir été globalement testé dans le TP précédent. L'interface graphique pourra être conçue avant de programmer les listeners.
© Irène Charon, Télécom ParisTech - Paris 2011