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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| public class CalendrierModele {
/**
* Méthode qui retourne les jours fériés
* @param annee
*/
private void joursFeries(Annee annee){
int anneeChoisit = annee.anneeChoisit(annee);
// On passe l'année choisit au calendar
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, anneeChoisit);
// On constitue la liste des jours fériés
List<Calendar> joursFeries = new ArrayList<Calendar>();
// On recherche les jours fériés de l'année passée en paramètre
Calendar jourFerie = Calendar.getInstance();
jourFerie = (Calendar) calendar.clone();
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 1);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.NOVEMBER, 11);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.DECEMBER, 25);
joursFeries.add((Calendar) jourFerie.clone());
//On ajoute 1 à l'année choisit
jourFerie.add(Calendar.YEAR, 1);
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JANUARY, 1);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 1);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.MAY, 8);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.JULY, 14);
joursFeries.add((Calendar) jourFerie.clone());
jourFerie.set(jourFerie.get(Calendar.YEAR), Calendar.AUGUST, 15);
joursFeries.add((Calendar) jourFerie.clone());
}
/**
* Méthode qui permet de construire le calendrier pour une année scolaire
* @param uneAnnee
* @return calendar
*/
public Calendar construireCalendrier(Annee uneAnnee){
int anneeChoisit;
int anneeActuelle;
int anneeDefinitif;
Calendar calendar;
//Convertion de l'année choisit pour la création du calendrier en entier
anneeChoisit = uneAnnee.anneeChoisit(uneAnnee);
//Récupération de l'année actuelle
calendar = Calendar.getInstance();
anneeActuelle = calendar.get(Calendar.YEAR);
//Comparaison de l'année actuelle avec l'année choisit
//Si l'année actuelle est avant l'année choisit, on ajoute des années à l'année actuelle pour créer le calendrier
//Si l'année actuelle est après l'année choisit, on enlève des années à l'année actuelle pour créer le calendrier
if(anneeActuelle < anneeChoisit){
anneeDefinitif = anneeChoisit - anneeActuelle;
calendar.add(Calendar.YEAR, +anneeDefinitif);
}else if(anneeActuelle > anneeChoisit){
anneeDefinitif = anneeActuelle - anneeChoisit;
calendar.add(Calendar.YEAR, -anneeDefinitif);
}else{
calendar.add(Calendar.YEAR, 0);
}
// on se positionne sur le mois de septembre
calendar.set(Calendar.MONTH,Calendar.SEPTEMBER);
// on se positionne sur la première semaine du mois
calendar.set(Calendar.WEEK_OF_MONTH, 1);
// on se positionne sur le premier jour officiel
calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
return calendar;
}
/**
* Méthode qui gère les jours ouvrés
*/
public void getJoursOuvrable(JTable table, CalendrierTableModele tableModel, Calendrier calendrier){
JTableRender mcr = new JTableRender();
if(calendrier.getSamediOuvrable() == true){
table.getColumnModel().getColumn(5).setCellRenderer(mcr);
tableModel.isCellEditable(0, 5);
}
if(calendrier.getDimancheOuvrable() == true){
table.getColumnModel().getColumn(6).setCellRenderer(mcr);
tableModel.isCellEditable(0, 6);
}
if(calendrier.getFerieOuvrable() == true){
joursFeries(calendrier.getUneAnnee());
//COMMENT FAIRE POUR GRISER LES CASES DONT LES JOURS SONT FERIES
}
}
Merci d'avance
} |
Partager