package com.toedter.calendar.demo;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Date;
import java.util.Locale;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.toedter.calendar.JDateChooser;
import com.toedter.calendar.JSpinnerDateEditor;
public class DateChooserPanel extends JPanel
implements PropertyChangeListener {
private static final long serialVersionUID = -1282280858252793253L;
private final JComponent[] components;
setName("JDateChooser");
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
setLayout(gridbag);
components = new JComponent[6];
components[0] = new JDateChooser();
components[1] = new JDateChooser();
((JDateChooser) components[1]).getJCalendar().getDayChooser()
.addDateEvaluator(new BirthdayEvaluator());
((JDateChooser) components[1]).getJCalendar().getDayChooser()
.addDateEvaluator(new TestDateEvaluator());
((JDateChooser) components[1]).getJCalendar().setTodayButtonVisible(
true);
((JDateChooser) components[1]).getJCalendar().setNullDateButtonVisible(
true);
components[2] = new JDateChooser(new Date());
components[3] = new JDateChooser(null, null, null,
new JSpinnerDateEditor());
components[4] = new JDateChooser("yyyy/MM/dd", "####/##/##", '_');
components[5] = new DemoTable();
addEntry("Default", components[0], gridbag);
addEntry("Default (with addons)", components[1], gridbag);
addEntry("Default with date set", components[2], gridbag);
addEntry("Spinner Editor", components[3], gridbag);
addEntry("Explicite date pattern and mask", components[4], gridbag);
addEntry("Table with date editors", components[5], gridbag);
}
private void addEntry(String text, JComponent component, GridBagLayout grid) {
JLabel label = new JLabel(text + ": ", null, JLabel.RIGHT);
GridBagConstraints c = new GridBagConstraints();
c.weightx = 1.0;
c.fill = GridBagConstraints.BOTH;
grid.setConstraints(label, c);
add(label);
c.gridwidth = GridBagConstraints.REMAINDER;
grid.setConstraints(component, c);
add(component);
JPanel blankLine = new JPanel() {
private static final long serialVersionUID = 4514530330521503732L;
return new Dimension(10, 3);
}
};
grid.setConstraints(blankLine, c);
add(blankLine);
}
return ((JDateChooser) components[1]).getDateFormatString();
}
for (int i = 0; i < 4; i++) {
((JDateChooser) components[i]).setDateFormatString(dfString);
}
}
return ((JDateChooser) components[1]).getDate();
}
for (int i = 0; i < 4; i++) {
((JDateChooser) components[i]).setDate(date);
}
}
if (evt.getPropertyName().equals("date")) {
setDate((Date) evt.getNewValue());
}
}
return ((JDateChooser) components[0]).getLocale();
}
for (int i = 0; i < 5; i++) {
components[i].setLocale(locale);
}
}
return ((JDateChooser) components[0]).isEnabled();
}
for (int i = 0; i < 5; i++) {
components[i].setEnabled(enabled);
}
}
return ((JDateChooser) components[0]).getMinSelectableDate();
}
for (int i = 0; i < 4; i++) {
((JDateChooser) components[i]).setMinSelectableDate(date);
}
}
return ((JDateChooser) components[0]).getMaxSelectableDate();
}
for (int i = 0; i < 4; i++) {
((JDateChooser) components[i]).setMaxSelectableDate(date);
}
}
}