String[] patternExamples = {
"dd MMMMM yyyy",
"dd.MM.yy",
"MM/dd/yy",
"yyyy.MM.dd G 'at' hh:mm:ss z",
"EEE, MMM d, ''yy",
"h:mm a",
"H:mm:ss:SSS",
"K:mm a,z",
"yyyy.MMMMM.dd GGG hh:mm aaa"
};
currentPattern = patternExamples[0];
// Set up the UI for selecting a pattern.
JLabel patternLabel1 = new JLabel("Enter the pattern string or");
JLabel patternLabel2 = new JLabel("select one from the list:");
JComboBox patternList = new JComboBox(patternExamples);
patternList.setEditable(true);
patternList.setAlignmentX(Component.LEFT_ALIGNMENT);
patternList.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String newSelection = (String)cb.getSelectedItem();
currentPattern = newSelection;
reformat();
}
});
// Create the UI for displaying result
JLabel resultLabel = new JLabel("Current Date/Time", JLabel.LEFT);
result = new JLabel(" ");
result.setForeground(Color.black);
result.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.black),
BorderFactory.createEmptyBorder(5,5,5,5)
));
// Lay out everything
JPanel patternPanel = new JPanel();
patternPanel.setLayout(new BoxLayout(patternPanel, BoxLayout.Y_AXIS));
patternPanel.add(patternLabel1);
patternPanel.add(patternLabel2);
patternPanel.add(patternList);
JPanel resultPanel = new JPanel();
resultPanel.setLayout(new GridLayout(0, 1));
resultPanel.add(resultLabel);
resultPanel.add(result);
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
patternPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
resultPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
add(patternPanel);
add(Box.createRigidArea(new Dimension(0, 10)));
add(resultPanel);
setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
reformat();