Comment mettre de la liste des dates dans JComboBox dans 'yyyy-mm-dd' format?
Je suis en train de mettre la date courante et la date de la prochaine journée dans un JComboBox avec ce code
private void dateCombo(){
Calendar cal = new GregorianCalendar();
int month =cal.get(Calendar.MONTH);
int year =cal.get(Calendar.YEAR);
int day =cal.get(Calendar.DAY_OF_MONTH);
cmb_date.addItem(+year+"-"+(month+1)+"-"+day);
cmb_date.addItem(+year+"-"+(month+1)+"-"+(day+1));
}
Mais il montre la date dans 'aaaa-m-d' format et je veux qu'il en 'yyyy-mm-dd' format.
Je pense que je peux utiliser
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
txt_date.setText(sdf.format(date));
Pour obtenir la date du jour dans 'yyyy-mm-dd' format mais ce qu'il faut faire à propos de la date de la prochaine journée?
Vous devez vous connecter pour publier un commentaire.
et vous avez besoin de changer de format pour
yyyy-MM-dd
pour le format désiréVous devez ajouter des Objets dans JComboBox au lieu de la Chaîne pour la Date actuelle et la date pour le lendemain et ensuite utiliser personnalisés ListCellRenderer pour le rendu de la Date dans le format désiré.
Exemple De Code:
J'ai l'habitude de ne jamais ajouter des chaînes à un JComboBox; au lieu de définir une objet de données qui contient un membre du type désiré (Date dans votre cas) et remplacer la toString méthode pour déterminer la façon dont il apparaît dans la JComboBox.
Maintenant, vous pouvez insérer tous les jours que vous voulez dans la JComboBox en suivant le modèle que Jigar Joshi a indiqué dans sa réponse. Ici, je l'utilise pour ajouter quatre semaines au total:
L'avantage de l'utilisation d'un objet de données est que vous pouvez facilement récupérer la date sélectionnée à partir de la JComboBox, au lieu de son Chaîne représentation.