ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
11 nov. 2007 à 20:41
ulysse00
Messages postés291Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention12 mai 2013
-
11 nov. 2007 à 23:41
salut tout le monde
j'ai deux problème avec le calendrier
le 1) a chaque fois je change le mois et je click sur un numéro , la fenetre sera fermer et plusieurs fenetres apparaisent au lien qu'une seule fenetre .
le 2) avec la couleur rouge qui sur le bouton qui montre que nous somes le jour X mais si je change le mois la couleur rouge reste toujours sur le bouton si vendredi reste
private GregorianCalendar _calendar = new GregorianCalendar();
private DateFormatSymbols _dateSymbols = new DateFormatSymbols();
private SimpleDateFormat _formatMY = new SimpleDateFormat("MMMM yyyy");
private int _firstDayOfWeek = _calendar.getFirstDayOfWeek()+5;
private final JLabel _monthYear = new JLabel("", SwingUtilities.CENTER);
private final JLabel[] _daysOfWeek = new JLabel[7];
private final JButton[] _daysNumber = new JButton[42];
private final ActionListener _changeMonth = new ActionListener() {
public void actionPerformed(final ActionEvent ae) {
final int nb = "next".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.MONTH, nb);
updateMonthYear();
updateDaysNumber();
}
};
private final ActionListener oui = new ActionListener() {
public void actionPerformed(final ActionEvent e) {
JButton buttton = (JButton)e.getSource();
String a=buttton.getText();
String s = _calendar.get(Calendar.YEAR)+"/"+a+"/"+_calendar.get(Calendar.MONTH);
setVisible(false);
chercher A = new chercher();
A.dd(s);
A.setVisible(true);
// Month Panel
final JPanel monthPanel = new JPanel();
final JButton previous = new JButton("<<");
previous.addActionListener(_changeMonth);
final JButton next = new JButton(">>");
next.addActionListener(_changeMonth);
// Day Panel
final JPanel dayPanel = new JPanel();
dayPanel.setLayout(new GridLayout(7, 7));
for (int i = 0; i < 7; ++i)
dayPanel.add(_daysOfWeek[i] = new JLabel("",SwingUtilities.CENTER));
for (int i = 0; i < _daysNumber.length; ++i)
dayPanel.add(_daysNumber[i] = new JButton());
panel.add(dayPanel, BorderLayout.CENTER);
// Remplissage des composants
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
// Affiche les jours de la semaine
private void updateDaysOfWeek() {
final String[] weekDays = _dateSymbols.getShortWeekdays();
for (int i = 1; i < weekDays.length; ++i) {
final int index = (i - 2 + _firstDayOfWeek) % 7 + 1;
_daysOfWeek[i - 1].setText(weekDays[index]);
}
}
// Affiche le numéro des jours
private void updateDaysNumber() {
int A;
final Date tmp = _calendar.getTime();
Calendar now = Calendar.getInstance();
_calendar.set(Calendar.DAY_OF_MONTH, 1);
final int firstDay = _calendar.get(Calendar.DAY_OF_WEEK);
final int LocalFirstDay = (firstDay - _firstDayOfWeek + 7) % 7 + 1;
boolean full = false;
int v;
for (int i = 0; i < _daysNumber.length; ++i) {
final boolean isNotEmpty = i < LocalFirstDay - 1 || full;
_daysNumber[i].setVisible(!isNotEmpty);
if (!isNotEmpty) {
final int dayOfMonth = _calendar.get(Calendar.DAY_OF_MONTH);
_daysNumber[i].setText(String.valueOf(dayOfMonth));
A =dayOfMonth;
_calendar.add(Calendar.DAY_OF_MONTH, 1); full 1 _calendar.get(Calendar.DAY_OF_MONTH);
}
if (_calendar.get(Calendar.DAY_OF_WEEK) == 7) {
_daysNumber[i].setBackground(Color.BLUE);
}