1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
Deux jpanel :
JPanelDrawingArea (pour afficher points et liaisons entre eux)
JPanelDrawingGrilleRessource (pour afficher la grille et les cases allumé)
private void jButtonAfficherGrilleActionPerformed(java.awt.event.ActionEvent evt) {
this.afficherCaseAllume();
this.afficherGrille();
}
private void jButtonActionActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Code métier qui utilise drawVector et drawOval pour dessiner des points
// et les relier entre eux. Une fois qu'ils sont dessinés, leur position
// est pour l'instant perdue
}
private void drawVector(Position pdeb, Position pfin) {
if (pdeb != null && pfin != null) {
jPanelDrawingArea.getGraphics().drawLine(pdeb.getJ() * 10 + 5, 10 * pdeb.getI() + 5,
10 * pfin.getJ() + 5, 10 * pfin.getI() + 5);
}
}
private void drawOval(Position p, Color c) {
int i = p.getI();
int j = p.getJ();
Double dd = Math.sqrt(2) * 4;
int d = dd.intValue();
Graphics g = jPanelDrawingArea.getGraphics();
g.setColor(c);
g.fillOval(10 * j + 3, 10 * i + 3, d, d);
}
private void drawCasePleine(int i, int j, Color c) {
Double dd = Math.sqrt(2) * 2;
int d = dd.intValue();
Graphics g = jPanelDrawingGrilleRessource.getGraphics();
g.setColor(c);
g.fillRect(10 * j, 10 * i, 10, 10);
}
private void afficherGrille() {
// Utilisation d'une double boucle for avec drawRect pour afficher
// une grille. On dessine sur le JPanelDrawingGrilleRessource
}
private void afficherCaseAllume() {
// Code métier qui parcourt la liste des cases allumés, et qui les
// dessine (ou pas) suivant leur valeur. La liste provient du modèle
// qui est mis à jour à chaque action. On dessine sur le // JPanelDrawingGrilleRessource
} |
Partager