Comportement étonnant du Calendar.getTime()
J'ai une fonction qui reçoit en entrée une string (un type de période: mois, semaine ou personnalisée) et une date, et qui, dans le cas hebdo ou mensuel, retourne le lundi le plus proche de la date d'entrée.
La fonction donne le résultat attendu, mais à une seule condition : que chaque manipulation du calendrier (add ou set) soit suivie par un appel à Calendar.getTime(). Sans ces appels, le résultat est invariablement le même : la date d'entrée.
Voici le code correspondant :
Code:
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
|
public static String getDateAvantPeriode(String type_periode, String dateDebut) {
Date date_base = null;
String retour=null;
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy");
try {
date_base = Outils.convertStringToDate(dateDebut,Outils.DATE_FORMAT);
//retour au lundi de la semaine
if(type_periode.equals("hebdo")) {
c.setTime(date_base);//RAZ
c.set(Calendar.DAY_OF_WEEK, 2);
Date date_hebdo = c.getTime();
retour=Outils.convertDateToString(date_hebdo, Outils.DATE_FORMAT);
}
//retour au 1er lundi du mois
else if(type_periode.equals("mois")) {
c.setTime(date_base);//RAZ
int month_original=c.get(Calendar.MONTH);
c.set(Calendar.DAY_OF_MONTH, 1);
c.getTime();
c.set(Calendar.DAY_OF_WEEK, 2);
c.getTime();
int month_after=c.get(Calendar.MONTH);
if(month_original!=month_after) {
c.add(Calendar.WEEK_OF_YEAR, 1);
c.getTime();
}
Date date_mois = c.getTime();
retour=Outils.convertDateToString(date_mois, Outils.DATE_FORMAT);
}
else /*if(type_periode.equals("autre"))*/ {
date_base = sdf.parse(dateDebut);
retour=Outils.convertDateToString(date_base, Outils.DATE_FORMAT);
}
}
catch (ParseException pe) {
pe.printStackTrace();
}
return retour;
} |
Si vous y comprenez qqch, je veux bien l'explication...
Merci d'avance.
desactivation des JtextField
bonjour a tous,dans mon application j'ai 4 boutons, Nouveau,Supprimer,Modifier et Sauvegarder,j'ai ecris une methode qui me permet de verrouiller et desactiver les boutons et les zones de texte que j'appelle après,mais je n'arrive pas à desactiver mes zones de texte, les Jtexfields,en fait l'esprit est que,après exécution tant que l'utilisateur ne clique pas sur le bouton nouveau l'acces au differents champs lui est inaccessible.voici ma méthode restaurer().
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public void restaurer() {// pour verrouiller les JtextField à l'execution
nom.setEnabled(false);
prenom.setEnabled(false);
residence.setEnabled(false);
profession.setEnabled(false);
adresse.setEnabled(false);
tel1.setEnabled(false);
tel2.setEnabled(false);
solde.setEnabled(false);
typcpte.setEnabled(false);
typpiece.setEnabled(false);
numerocpte.setEnabled(false);
modpmt.setEnabled(false);
numpiece.setEnabled(false);
datetab.setEnabled(false);
lieuetab.setEnabled(false);
datouv.setEnabled(false);
} |
Aussi comment arriver à afficher la date courante dans mon champ de texte datouv.
comment arriver également lors de l'exécution que mon formulaire de connexion soit soit ma première page,je veux que l'utilisateur se connecte par un login et un mot de passe pour pouvoir avoir accès au autres resssources.pour cela j'utilise une bd