<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.zcubes.com/index.php?action=history&amp;feed=atom&amp;title=Yurttas%2FPL%2FOOL%2FJava%2FF%2F05%2F01%2F05%2F03%2FDateFormat00.java</id>
	<title>Yurttas/PL/OOL/Java/F/05/01/05/03/DateFormat00.java - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.zcubes.com/index.php?action=history&amp;feed=atom&amp;title=Yurttas%2FPL%2FOOL%2FJava%2FF%2F05%2F01%2F05%2F03%2FDateFormat00.java"/>
	<link rel="alternate" type="text/html" href="http://wiki.zcubes.com/index.php?title=Yurttas/PL/OOL/Java/F/05/01/05/03/DateFormat00.java&amp;action=history"/>
	<updated>2026-05-18T17:12:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://wiki.zcubes.com/index.php?title=Yurttas/PL/OOL/Java/F/05/01/05/03/DateFormat00.java&amp;diff=177090&amp;oldid=prev</id>
		<title>MassBot1: Created page with &quot;&lt;syntaxhighlight lang=&quot;java&quot; line start=&quot;1&quot; enclose=&quot;div&quot;&gt;/**  * @version 1.10 1999-10-14  * @author Cay Horstmann  */  import java.awt.*; import java.awt.event.*; import java...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.zcubes.com/index.php?title=Yurttas/PL/OOL/Java/F/05/01/05/03/DateFormat00.java&amp;diff=177090&amp;oldid=prev"/>
		<updated>2013-11-07T19:35:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line start=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;*  * @version 1.10 1999-10-14  * @author Cay Horstmann: &lt;/span&gt;  import java.awt.*; import java.awt.event.*; import java...&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line start=&amp;quot;1&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;/**&lt;br /&gt;
 * @version 1.10 1999-10-14&lt;br /&gt;
 * @author Cay Horstmann&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
import java.awt.event.*;&lt;br /&gt;
import java.text.*;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
import javax.swing.*;&lt;br /&gt;
&lt;br /&gt;
public class DateFormat00 {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame frame = new DateFormatFrame();&lt;br /&gt;
    frame.show();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class DateFormatFrame extends JFrame {&lt;br /&gt;
  public DateFormatFrame() {&lt;br /&gt;
    setSize(400, 200);&lt;br /&gt;
    setTitle(&amp;quot;DateFormat00&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    addWindowListener(new WindowAdapter() {&lt;br /&gt;
      public void windowClosing(WindowEvent e) {&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    getContentPane().setLayout(new GridBagLayout());&lt;br /&gt;
    GridBagConstraints gbc = new GridBagConstraints();&lt;br /&gt;
&lt;br /&gt;
    gbc.fill = GridBagConstraints.NONE;&lt;br /&gt;
&lt;br /&gt;
    gbc.anchor = GridBagConstraints.EAST;&lt;br /&gt;
&lt;br /&gt;
    add(new JLabel(&amp;quot;Locale&amp;quot;), gbc, 0, 0, 1, 1);&lt;br /&gt;
    add(new JLabel(&amp;quot;Date style&amp;quot;), gbc, 0, 1, 1, 1);&lt;br /&gt;
    add(new JLabel(&amp;quot;Time style&amp;quot;), gbc, 2, 1, 1, 1);&lt;br /&gt;
    add(new JLabel(&amp;quot;Date&amp;quot;), gbc, 0, 2, 1, 1);&lt;br /&gt;
    add(new JLabel(&amp;quot;Time&amp;quot;), gbc, 0, 3, 1, 1);&lt;br /&gt;
&lt;br /&gt;
    gbc.anchor = GridBagConstraints.WEST;&lt;br /&gt;
&lt;br /&gt;
    add(localeCombo, gbc, 1, 0, 2, 1);&lt;br /&gt;
    add(dateStyleCombo, gbc, 1, 1, 1, 1);&lt;br /&gt;
    add(timeStyleCombo, gbc, 3, 1, 1, 1);&lt;br /&gt;
    add(dateParseButton, gbc, 3, 2, 1, 1);&lt;br /&gt;
    add(timeParseButton, gbc, 3, 3, 1, 1);&lt;br /&gt;
    add(lenientCheckbox, gbc, 0, 4, 2, 1);&lt;br /&gt;
&lt;br /&gt;
    gbc.fill = GridBagConstraints.HORIZONTAL;&lt;br /&gt;
&lt;br /&gt;
    add(dateText, gbc, 1, 2, 2, 1);&lt;br /&gt;
    add(timeText, gbc, 1, 3, 2, 1);&lt;br /&gt;
&lt;br /&gt;
    locales = DateFormat.getAvailableLocales();&lt;br /&gt;
    for(int i=0; i&amp;lt;locales.length; i++)&lt;br /&gt;
      localeCombo.addItem(locales[i].getDisplayName());&lt;br /&gt;
    localeCombo.setSelectedItem(Locale.getDefault().getDisplayName());&lt;br /&gt;
    currentDate = new Date();&lt;br /&gt;
    currentTime = new Date();&lt;br /&gt;
    updateDisplay();&lt;br /&gt;
&lt;br /&gt;
    ActionListener listener = new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent event) {&lt;br /&gt;
        updateDisplay();&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    localeCombo.addActionListener(listener);&lt;br /&gt;
    dateStyleCombo.addActionListener(listener);&lt;br /&gt;
    timeStyleCombo.addActionListener(listener);&lt;br /&gt;
&lt;br /&gt;
    dateParseButton.addActionListener(new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent event) {&lt;br /&gt;
        String d = dateText.getText();&lt;br /&gt;
        try {&lt;br /&gt;
          currentDateFormat.setLenient(lenientCheckbox.isSelected());&lt;br /&gt;
          Date date = currentDateFormat.parse(d);&lt;br /&gt;
          currentDate = date;&lt;br /&gt;
          updateDisplay();&lt;br /&gt;
        }&lt;br /&gt;
        catch(ParseException e) {&lt;br /&gt;
          dateText.setText(&amp;quot;Parse error: &amp;quot; + d);&lt;br /&gt;
        }&lt;br /&gt;
        catch(IllegalArgumentException e) {&lt;br /&gt;
          dateText.setText(&amp;quot;Argument error: &amp;quot; + d);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    timeParseButton.addActionListener(new ActionListener() {&lt;br /&gt;
      public void actionPerformed(ActionEvent event) {&lt;br /&gt;
        String t = timeText.getText();&lt;br /&gt;
        try {&lt;br /&gt;
          currentDateFormat.setLenient(lenientCheckbox.isSelected());&lt;br /&gt;
          Date date = currentTimeFormat.parse(t);&lt;br /&gt;
          currentTime = date;&lt;br /&gt;
          updateDisplay();&lt;br /&gt;
        }&lt;br /&gt;
        catch(ParseException e) {&lt;br /&gt;
          timeText.setText(&amp;quot;Parse error: &amp;quot; + t);&lt;br /&gt;
        }&lt;br /&gt;
        catch(IllegalArgumentException e) {&lt;br /&gt;
          timeText.setText(&amp;quot;Argument error: &amp;quot; + t);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void add(Component c,&lt;br /&gt;
                  GridBagConstraints gbc,&lt;br /&gt;
                  int x,&lt;br /&gt;
                  int y,&lt;br /&gt;
                  int w,&lt;br /&gt;
                  int h) {&lt;br /&gt;
    gbc.gridx = x;&lt;br /&gt;
    gbc.gridy = y;&lt;br /&gt;
    gbc.gridwidth = w;&lt;br /&gt;
    gbc.gridheight = h;&lt;br /&gt;
    getContentPane().add(c, gbc);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public void updateDisplay() {&lt;br /&gt;
    Locale currentLocale = locales[localeCombo.getSelectedIndex()];&lt;br /&gt;
    int dateStyle = dateStyleCombo.getValue();&lt;br /&gt;
    currentDateFormat = DateFormat.getDateInstance(dateStyle,&lt;br /&gt;
                                                   currentLocale);&lt;br /&gt;
    String d = currentDateFormat.format(currentDate);&lt;br /&gt;
    dateText.setText(d);&lt;br /&gt;
    int timeStyle = timeStyleCombo.getValue();&lt;br /&gt;
    currentTimeFormat = DateFormat.getTimeInstance(timeStyle,&lt;br /&gt;
                                                   currentLocale);&lt;br /&gt;
    String t = currentTimeFormat.format(currentTime);&lt;br /&gt;
    timeText.setText(t);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private Locale[] locales;&lt;br /&gt;
&lt;br /&gt;
  private Date currentDate;&lt;br /&gt;
  private Date currentTime;&lt;br /&gt;
  private DateFormat currentDateFormat;&lt;br /&gt;
  private DateFormat currentTimeFormat;&lt;br /&gt;
&lt;br /&gt;
  private JComboBox localeCombo = new JComboBox();&lt;br /&gt;
  private EnumCombo dateStyleCombo = new EnumCombo(DateFormat.class,&lt;br /&gt;
                                                   new String[]{&amp;quot;Default&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Full&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Long&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Medium&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Short&amp;quot;});&lt;br /&gt;
  private EnumCombo timeStyleCombo = new EnumCombo(DateFormat.class,&lt;br /&gt;
                                                   new String[]{&amp;quot;Default&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Full&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Long&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Medium&amp;quot;,&lt;br /&gt;
                                                                &amp;quot;Short&amp;quot; });&lt;br /&gt;
  private JButton dateParseButton = new JButton(&amp;quot;Parse date&amp;quot;);&lt;br /&gt;
  private JButton timeParseButton = new JButton(&amp;quot;Parse time&amp;quot;);&lt;br /&gt;
  private JTextField dateText = new JTextField(30);&lt;br /&gt;
  private JTextField timeText = new JTextField(30);&lt;br /&gt;
  private JTextField parseText = new JTextField(30);&lt;br /&gt;
  private JCheckBox lenientCheckbox = new JCheckBox(&amp;quot;Parse lenient&amp;quot;,&lt;br /&gt;
                                                    true);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class EnumCombo extends JComboBox {&lt;br /&gt;
  public EnumCombo(Class cl,&lt;br /&gt;
                   String[] labels) {&lt;br /&gt;
    for(int i=0; i&amp;lt;labels.length; i++) {&lt;br /&gt;
      String label = labels[i];&lt;br /&gt;
      String name = label.toUpperCase().replace(' ', '_');&lt;br /&gt;
      int value = 0;&lt;br /&gt;
      try {&lt;br /&gt;
        java.lang.reflect.Field f = cl.getField(name);&lt;br /&gt;
        value = f.getInt(cl);&lt;br /&gt;
      }&lt;br /&gt;
      catch(Exception e) {&lt;br /&gt;
        label = &amp;quot;(&amp;quot; + label + &amp;quot;)&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      table.put(label, new Integer(value));&lt;br /&gt;
      addItem(label);&lt;br /&gt;
    }&lt;br /&gt;
    setSelectedItem(labels[0]);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public int getValue() {&lt;br /&gt;
    return ((Integer)table.get(getSelectedItem())).intValue();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  private Hashtable table = new Hashtable();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>MassBot1</name></author>
	</entry>
</feed>