home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / DateTimeFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-17  |  14.4 KB  |  637 lines

  1. import java.awt.Button;
  2. import java.awt.Checkbox;
  3. import java.awt.CheckboxGroup;
  4. import java.awt.Choice;
  5. import java.awt.Color;
  6. import java.awt.Component;
  7. import java.awt.Container;
  8. import java.awt.FlowLayout;
  9. import java.awt.Font;
  10. import java.awt.Frame;
  11. import java.awt.GridLayout;
  12. import java.awt.Label;
  13. import java.awt.LayoutManager;
  14. import java.awt.Panel;
  15. import java.awt.TextField;
  16. import java.awt.Window;
  17. import java.awt.event.ActionEvent;
  18. import java.awt.event.ActionListener;
  19. import java.awt.event.InputEvent;
  20. import java.awt.event.ItemEvent;
  21. import java.awt.event.ItemListener;
  22. import java.awt.event.KeyEvent;
  23. import java.awt.event.KeyListener;
  24. import java.awt.event.WindowEvent;
  25. import java.awt.event.WindowListener;
  26. import java.text.DateFormat;
  27. import java.text.ParsePosition;
  28. import java.text.SimpleDateFormat;
  29. import java.util.Date;
  30. import java.util.EventObject;
  31. import java.util.Locale;
  32. import java.util.SimpleTimeZone;
  33.  
  34. class DateTimeFrame extends Frame implements WindowListener, ActionListener, ItemListener, KeyListener {
  35.    private static final String creditString = "";
  36.    private static final String copyrightString = "";
  37.    private static final String copyrightString2 = "";
  38.    private static final int FIELD_COLUMNS = 45;
  39.    private static final boolean DEBUG = false;
  40.    private static final int millisPerHour = 3600000;
  41.    private boolean isLocalized = false;
  42.    private boolean validationMode = false;
  43.    private Locale curLocale;
  44.    private SimpleDateFormat format;
  45.    private Locale[] locales;
  46.    private DemoApplet applet;
  47.    private static final int[] kAdjCityIndex = new int[]{1, 3, 2, 4, 0, 5, 0, 0, 6};
  48.    private static final int[] kZoneOffsets = new int[]{3600000, -28800000, 0, -18000000, -25200000, -21600000, 32400000};
  49.    private static final String[] kZoneIDs = new String[]{"ECT", "PST", "GMT", "EST", "MST", "CST", "JST"};
  50.    Panel localePanel;
  51.    Panel formatPanel;
  52.    CheckboxGroup group1;
  53.    CheckboxGroup group2;
  54.    Label label1;
  55.    Label label2;
  56.    Label label3;
  57.    Label demo;
  58.    Label code;
  59.    Choice localeMenu;
  60.    Choice dateStyleMenu;
  61.    Choice timeStyleMenu;
  62.    Choice dateMenu;
  63.    Choice cityMenu;
  64.    Label dateLabel;
  65.    Label cityLabel;
  66.    TextField millisText;
  67.    Label millisLabel;
  68.    // $FF: renamed from: up java.awt.Button
  69.    Button field_0;
  70.    Button down;
  71.    Label localeLabel;
  72.    Label dateStyleLabel;
  73.    Label timeStyleLabel;
  74.    TextField inputText;
  75.    TextField outputText;
  76.    Label formatLabel;
  77.    Label parseLabel;
  78.    TextField patternText;
  79.    Label label4;
  80.    Checkbox getDateInstance;
  81.    Checkbox getTimeInstance;
  82.    Checkbox getDateTimeInstance;
  83.    Checkbox getRoll;
  84.    Checkbox getAdd;
  85.    Checkbox getLocalized;
  86.    Checkbox getValidationMode;
  87.    Color color;
  88.    private boolean add;
  89.    long time;
  90.  
  91.    public DateTimeFrame(DemoApplet var1) {
  92.       super("Date/Time Formatting Demo");
  93.       this.curLocale = Locale.US;
  94.       this.color = Color.white;
  95.       this.add = false;
  96.       this.time = System.currentTimeMillis();
  97.       this.applet = var1;
  98.       ((Window)this).addWindowListener(this);
  99.       this.init();
  100.       this.start();
  101.    }
  102.  
  103.    public void init() {
  104.       this.locales = Utility.getG7Locales();
  105.       this.buildGUI();
  106.       Locale.getDefault();
  107.  
  108.       for(int var1 = 0; var1 < this.locales.length; ++var1) {
  109.          if (this.locales[var1].getCountry().length() > 0) {
  110.             this.localeMenu.addItem(this.locales[var1].getDisplayName());
  111.             if (this.locales[var1].equals(Locale.getDefault())) {
  112.                this.localeMenu.select(var1);
  113.             }
  114.          }
  115.       }
  116.  
  117.       this.setFormatFromLocale(true);
  118.       this.formatText();
  119.    }
  120.  
  121.    void addWithFont(Container var1, Component var2, Font var3) {
  122.       if (var3 != null) {
  123.          var2.setFont(var3);
  124.       }
  125.  
  126.       var1.add(var2);
  127.    }
  128.  
  129.    public void start() {
  130.    }
  131.  
  132.    public void handleNewFormat() {
  133.       Utility.setText(this.patternText, this.format.toPattern());
  134.    }
  135.  
  136.    public void validationModeChanged() {
  137.       this.format.setLenient(this.validationMode);
  138.       this.parseText();
  139.    }
  140.  
  141.    public void buildGUI() {
  142.       ((Component)this).setBackground(this.color);
  143.       ((Container)this).setLayout(new FlowLayout());
  144.       Panel var1 = new Panel();
  145.       this.label1 = new Label("Date/Time Formatting Demo", 1);
  146.       this.label1.setFont(Utility.titleFont);
  147.       ((Container)var1).add(this.label1);
  148.       Panel var2 = new Panel();
  149.       this.demo = new Label("", 1);
  150.       this.demo.setFont(Utility.creditFont);
  151.       ((Container)var2).add(this.demo);
  152.       ((Container)var1).add(var2);
  153.       Utility.fixGrid(var1, 1);
  154.       ((Container)this).add(var1);
  155.       Panel var3 = new Panel();
  156.       ((Container)var3).setLayout(new FlowLayout());
  157.       this.label3 = new Label("New Date", 2);
  158.       this.label3.setFont(Utility.labelFont);
  159.       ((Container)var3).add(this.label3);
  160.       this.outputText = new TextField(45);
  161.       this.outputText.addKeyListener(this);
  162.       this.outputText.setFont(Utility.editFont);
  163.       ((Container)var3).add(this.outputText);
  164.       this.label2 = new Label("1.0 Date", 2);
  165.       this.label2.setFont(Utility.labelFont);
  166.       ((Container)var3).add(this.label2);
  167.       this.inputText = new TextField((new Date()).toGMTString(), 45);
  168.       this.inputText.addKeyListener(this);
  169.       this.inputText.setFont(Utility.editFont);
  170.       ((Container)var3).add(this.inputText);
  171.       this.millisLabel = new Label("Millis", 2);
  172.       this.millisLabel.setFont(Utility.labelFont);
  173.       ((Container)var3).add(this.millisLabel);
  174.       this.millisText = new TextField(45);
  175.       this.millisText.addKeyListener(this);
  176.       this.millisText.setFont(Utility.editFont);
  177.       ((Container)var3).add(this.millisText);
  178.       this.label4 = new Label("Pattern", 2);
  179.       this.label4.setFont(Utility.labelFont);
  180.       ((Container)var3).add(this.label4);
  181.       this.patternText = new TextField(45);
  182.       this.patternText.addKeyListener(this);
  183.       this.patternText.setFont(Utility.editFont);
  184.       ((Container)var3).add(this.patternText);
  185.       ((Container)var3).add(new Label(" "));
  186.       this.getLocalized = new Checkbox("Localized Pattern");
  187.       this.getLocalized.addItemListener(this);
  188.       this.getLocalized.setFont(Utility.labelFont);
  189.       this.getValidationMode = new Checkbox("Validation Mode");
  190.       this.getValidationMode.addItemListener(this);
  191.       this.getValidationMode.setFont(Utility.labelFont);
  192.       Panel var4 = new Panel();
  193.       ((Container)var4).setLayout(new GridLayout(1, 2, 40, 0));
  194.       ((Container)var4).add(this.getLocalized);
  195.       ((Container)var4).add(this.getValidationMode);
  196.       ((Container)var3).add(var4);
  197.       Utility.fixGrid(var3, 2);
  198.       ((Container)this).add(var3);
  199.       Panel var5 = new Panel();
  200.       ((Container)var5).setLayout(new FlowLayout());
  201.       this.group2 = new CheckboxGroup();
  202.       this.getRoll = new Checkbox("Roll", this.group2, true);
  203.       this.getAdd = new Checkbox("Add", this.group2, false);
  204.       this.getRoll.addItemListener(this);
  205.       this.getAdd.addItemListener(this);
  206.       this.dateLabel = new Label("Date Fields");
  207.       this.dateLabel.setFont(Utility.labelFont);
  208.       Panel var6 = new Panel();
  209.       ((Container)var6).setLayout(new GridLayout(2, 1));
  210.       this.field_0 = new Button("^");
  211.       this.down = new Button("v");
  212.       this.field_0.addActionListener(this);
  213.       this.down.addActionListener(this);
  214.       this.field_0.setBackground(Color.lightGray);
  215.       this.down.setBackground(Color.lightGray);
  216.       ((Container)var6).add(this.field_0);
  217.       ((Container)var6).add(this.down);
  218.       Panel var7 = new Panel();
  219.       ((Container)var7).setLayout(new GridLayout(2, 1));
  220.       ((Container)var7).add(this.getRoll);
  221.       ((Container)var7).add(this.getAdd);
  222.       Panel var8 = new Panel();
  223.       ((Container)var8).setLayout(new FlowLayout());
  224.       ((Container)var8).add(var7);
  225.       ((Container)var8).add(var6);
  226.       this.dateMenu = new Choice();
  227.       this.dateMenu.addItem("Year");
  228.       this.dateMenu.addItem("Month");
  229.       this.dateMenu.addItem("Day of Month");
  230.       this.dateMenu.addItem("Hour of Day");
  231.       this.dateMenu.addItem("Minute");
  232.       this.dateMenu.addItem("Second");
  233.       this.dateMenu.addItem("Millisecond");
  234.       Panel var9 = new Panel();
  235.       ((Container)var9).setLayout(new GridLayout(2, 1));
  236.       ((Container)var9).add(this.dateLabel);
  237.       ((Container)var9).add(this.dateMenu);
  238.       ((Container)var5).add(var9);
  239.       Panel var10 = new Panel();
  240.       ((Container)var10).setLayout(new FlowLayout());
  241.       Panel var11 = new Panel();
  242.       ((Container)var11).setLayout(new GridLayout(2, 1));
  243.       this.cityMenu = new Choice();
  244.       this.cityMenu.addItemListener(this);
  245.       this.cityMenu.addItem("Paris");
  246.       this.cityMenu.addItem("Copenhagen");
  247.       this.cityMenu.addItem("London");
  248.       this.cityMenu.addItem("Washington");
  249.       this.cityMenu.addItem("Toronto");
  250.       this.cityMenu.addItem("Montreal");
  251.       this.cityMenu.addItem("Tokyo");
  252.       this.cityLabel = new Label("City");
  253.       this.cityLabel.setFont(Utility.labelFont);
  254.       ((Container)var11).add(this.cityLabel);
  255.       ((Container)var11).add(this.cityMenu);
  256.       ((Container)var10).add(var11);
  257.       Panel var12 = new Panel();
  258.       ((Container)var12).add(var10);
  259.       ((Container)var12).add(var5);
  260.       ((Container)var12).add(var8);
  261.       Utility.fixGrid(var12, 1);
  262.       ((Container)this).add(var12);
  263.       BorderPanel var13 = new BorderPanel(true);
  264.       ((Component)var13).setBackground(Color.lightGray);
  265.       ((Container)var13).setLayout((LayoutManager)null);
  266.       ((Component)var13).setSize(8, 150);
  267.       ((Container)this).add(var13);
  268.       this.localePanel = new Panel();
  269.       this.localePanel.setLayout(new GridLayout(2, 1));
  270.       this.localeLabel = new Label("Locale");
  271.       this.localeLabel.setFont(Utility.labelFont);
  272.       this.localeMenu = new Choice();
  273.       this.localeMenu.addItemListener(this);
  274.       this.localePanel.add("loc", this.localeLabel);
  275.       this.localePanel.add(this.localeMenu);
  276.       this.formatPanel = new Panel();
  277.       this.group1 = new CheckboxGroup();
  278.       this.getDateInstance = new Checkbox("Date Format", this.group1, false);
  279.       this.getTimeInstance = new Checkbox("Time Format", this.group1, false);
  280.       this.getDateTimeInstance = new Checkbox("Date and Time Format", this.group1, true);
  281.       this.getDateInstance.addItemListener(this);
  282.       this.getTimeInstance.addItemListener(this);
  283.       this.getDateTimeInstance.addItemListener(this);
  284.       Panel var14 = new Panel();
  285.       ((Container)var14).setLayout(new GridLayout(3, 1));
  286.       ((Container)var14).add(this.getDateInstance);
  287.       ((Container)var14).add(this.getTimeInstance);
  288.       ((Container)var14).add(this.getDateTimeInstance);
  289.       Panel var15 = new Panel();
  290.       ((Container)var15).setLayout(new GridLayout(2, 1));
  291.       this.dateStyleLabel = new Label("Date Style");
  292.       this.dateStyleLabel.setFont(Utility.labelFont);
  293.       this.dateStyleMenu = new Choice();
  294.       this.dateStyleMenu.addItemListener(this);
  295.       this.dateStyleMenu.addItem("Full");
  296.       this.dateStyleMenu.addItem("Long");
  297.       this.dateStyleMenu.addItem("Default");
  298.       this.dateStyleMenu.addItem("Short");
  299.       ((Container)var15).add("loc", this.dateStyleLabel);
  300.       ((Container)var15).add(this.dateStyleMenu);
  301.       Panel var16 = new Panel();
  302.       ((Container)var16).setLayout(new GridLayout(2, 1));
  303.       this.timeStyleLabel = new Label("Time Style");
  304.       this.timeStyleLabel.setFont(Utility.labelFont);
  305.       this.timeStyleMenu = new Choice();
  306.       this.timeStyleMenu.addItemListener(this);
  307.       this.timeStyleMenu.addItem("Full");
  308.       this.timeStyleMenu.addItem("Long");
  309.       this.timeStyleMenu.addItem("Default");
  310.       this.timeStyleMenu.addItem("Short");
  311.       ((Container)var16).add("loc", this.timeStyleLabel);
  312.       ((Container)var16).add(this.timeStyleMenu);
  313.       Panel var17 = new Panel();
  314.       ((Container)var17).setLayout(new GridLayout(1, 2, 20, 0));
  315.       ((Container)var17).add(var15);
  316.       ((Container)var17).add(var16);
  317.       this.formatPanel.add(var14);
  318.       this.formatPanel.add(var17);
  319.       Utility.fixGrid(this.formatPanel, 1);
  320.       Panel var18 = new Panel();
  321.       ((Container)var18).add(this.localePanel);
  322.       ((Container)var18).add(this.formatPanel);
  323.       Utility.fixGrid(var18, 1);
  324.       ((Container)this).add(var18);
  325.       Panel var19 = new Panel();
  326.       this.addWithFont(var19, new Label("", 0), Utility.creditFont);
  327.       this.addWithFont(var19, new Label("", 0), Utility.creditFont);
  328.       Utility.fixGrid(var19, 1);
  329.       ((Container)this).add(var19);
  330.    }
  331.  
  332.    public void actionPerformed(ActionEvent var1) {
  333.       if (((EventObject)var1).getSource() == this.field_0) {
  334.          this.dateFieldChanged(true);
  335.       } else {
  336.          if (((EventObject)var1).getSource() == this.down) {
  337.             this.dateFieldChanged(false);
  338.          }
  339.  
  340.       }
  341.    }
  342.  
  343.    public void itemStateChanged(ItemEvent var1) {
  344.       if (((EventObject)var1).getSource() == this.localeMenu) {
  345.          this.selectedLocaleMenu();
  346.       } else if (((EventObject)var1).getSource() == this.dateStyleMenu) {
  347.          this.selectedDateStyleMenu();
  348.       } else if (((EventObject)var1).getSource() == this.timeStyleMenu) {
  349.          this.selectedTimeStyleMenu();
  350.       } else if (((EventObject)var1).getSource() == this.cityMenu) {
  351.          this.cityChanged();
  352.       } else if (((EventObject)var1).getSource() == this.getRoll) {
  353.          this.clickedGetRoll();
  354.       } else if (((EventObject)var1).getSource() == this.getAdd) {
  355.          this.clickedGetAdd();
  356.       } else if (((EventObject)var1).getSource() == this.getLocalized) {
  357.          this.isLocalized = this.getLocalized.getState();
  358.          this.handleNewFormat();
  359.       } else if (((EventObject)var1).getSource() == this.getValidationMode) {
  360.          this.validationMode = this.getValidationMode.getState();
  361.          this.validationModeChanged();
  362.       } else if (((EventObject)var1).getSource() == this.getDateInstance) {
  363.          this.clickedGetDateFormat();
  364.       } else if (((EventObject)var1).getSource() == this.getTimeInstance) {
  365.          this.clickedGetTimeFormat();
  366.       } else {
  367.          if (((EventObject)var1).getSource() == this.getDateTimeInstance) {
  368.             this.clickedGetDateTimeFormat();
  369.          }
  370.  
  371.       }
  372.    }
  373.  
  374.    public void keyPressed(KeyEvent var1) {
  375.    }
  376.  
  377.    public void keyReleased(KeyEvent var1) {
  378.       if (((EventObject)var1).getSource() == this.patternText) {
  379.          ((InputEvent)var1).consume();
  380.          this.patternTextChanged();
  381.       } else if (((EventObject)var1).getSource() == this.inputText) {
  382.          ((InputEvent)var1).consume();
  383.          this.formatText();
  384.       } else if (((EventObject)var1).getSource() == this.outputText) {
  385.          ((InputEvent)var1).consume();
  386.          this.parseText();
  387.       } else {
  388.          if (((EventObject)var1).getSource() == this.millisText) {
  389.             ((InputEvent)var1).consume();
  390.             this.millisChanged();
  391.          }
  392.  
  393.       }
  394.    }
  395.  
  396.    public void keyTyped(KeyEvent var1) {
  397.    }
  398.  
  399.    public void windowClosed(WindowEvent var1) {
  400.    }
  401.  
  402.    public void windowDeiconified(WindowEvent var1) {
  403.    }
  404.  
  405.    public void windowIconified(WindowEvent var1) {
  406.    }
  407.  
  408.    public void windowActivated(WindowEvent var1) {
  409.    }
  410.  
  411.    public void windowDeactivated(WindowEvent var1) {
  412.    }
  413.  
  414.    public void windowOpened(WindowEvent var1) {
  415.    }
  416.  
  417.    public void windowClosing(WindowEvent var1) {
  418.       ((Component)this).setVisible(false);
  419.       ((Frame)this).dispose();
  420.       if (this.applet != null) {
  421.          this.applet.demoClosed();
  422.       } else {
  423.          System.exit(0);
  424.       }
  425.    }
  426.  
  427.    public void setFormatFromLocale(boolean var1) {
  428.       int var2 = this.localeMenu.getSelectedIndex();
  429.       int var3 = this.dateStyleMenu.getSelectedIndex();
  430.       int var4 = this.timeStyleMenu.getSelectedIndex();
  431.       if (var1) {
  432.          this.curLocale = this.locales[var2];
  433.       }
  434.  
  435.       if (this.getDateInstance.getState()) {
  436.          this.format = (SimpleDateFormat)DateFormat.getDateInstance(var3, this.curLocale);
  437.       } else if (this.getTimeInstance.getState()) {
  438.          this.format = (SimpleDateFormat)DateFormat.getTimeInstance(var4, this.curLocale);
  439.       } else {
  440.          this.format = (SimpleDateFormat)DateFormat.getDateTimeInstance(var3, var4, this.curLocale);
  441.       }
  442.  
  443.       this.patternText.setText(this.format.toPattern());
  444.       if (!var1) {
  445.          this.setMillisText();
  446.          this.millisFormat();
  447.       } else {
  448.          this.cityMenu.select(kAdjCityIndex[var2]);
  449.          this.cityChanged();
  450.       }
  451.    }
  452.  
  453.    public void setFormatFromPattern() {
  454.       String var1 = this.patternText.getText();
  455.       this.format.applyPattern(var1);
  456.       this.millisFormat();
  457.       this.millisParse();
  458.    }
  459.  
  460.    public void clickedGetRoll() {
  461.       this.add = false;
  462.    }
  463.  
  464.    public void clickedGetAdd() {
  465.       this.add = true;
  466.    }
  467.  
  468.    public void clickedGetDateFormat() {
  469.       this.setFormatFromLocale(false);
  470.    }
  471.  
  472.    public void clickedGetTimeFormat() {
  473.       this.setFormatFromLocale(false);
  474.    }
  475.  
  476.    public void clickedGetDateTimeFormat() {
  477.       this.setFormatFromLocale(false);
  478.    }
  479.  
  480.    public void selectedLocaleMenu() {
  481.       this.setFormatFromLocale(true);
  482.    }
  483.  
  484.    public void selectedDateStyleMenu() {
  485.       this.setFormatFromLocale(false);
  486.    }
  487.  
  488.    public void selectedTimeStyleMenu() {
  489.       this.setFormatFromLocale(false);
  490.    }
  491.  
  492.    public void formatText() {
  493.       String var1 = this.inputText.getText();
  494.       if (var1.length() == 0) {
  495.          this.errorText("Error: no input to format!");
  496.       } else {
  497.          try {
  498.             this.time = Date.parse(var1);
  499.          } catch (Exception var2) {
  500.             this.outputText.setText("ERROR");
  501.             this.errorText("Exception: Date.parse: " + var1);
  502.             return;
  503.          }
  504.  
  505.          this.setMillisText();
  506.          this.millisFormat();
  507.       }
  508.    }
  509.  
  510.    public void parseText() {
  511.       String var1 = this.outputText.getText();
  512.       ParsePosition var2 = new ParsePosition(0);
  513.       if (var1.length() == 0) {
  514.          this.errorText("Error: no input to parse!");
  515.       } else {
  516.          try {
  517.             this.time = this.format.parse(var1, var2).getTime();
  518.          } catch (Exception var3) {
  519.             this.inputText.setText("ERROR");
  520.             this.errorText("Exception: parse: " + var1);
  521.             return;
  522.          }
  523.  
  524.          this.setMillisText();
  525.          this.millisParse();
  526.       }
  527.    }
  528.  
  529.    public void millisFormat() {
  530.       String var1 = "";
  531.  
  532.       try {
  533.          var1 = this.format.format(new Date(this.time));
  534.       } catch (Exception var2) {
  535.          this.outputText.setText("ERROR");
  536.          this.errorText("Exception: format: " + this.time);
  537.          return;
  538.       }
  539.  
  540.       this.outputText.setText(var1);
  541.       this.errorText("Formatted...");
  542.    }
  543.  
  544.    public void millisParse() {
  545.       String var1 = "";
  546.  
  547.       try {
  548.          var1 = (new Date(this.time)).toGMTString();
  549.       } catch (Exception var2) {
  550.          this.inputText.setText("ERROR");
  551.          this.errorText("Exception: in toGMTString: " + this.time);
  552.          return;
  553.       }
  554.  
  555.       this.inputText.setText(var1);
  556.       this.errorText("Parsed...");
  557.    }
  558.  
  559.    public void millisChanged() {
  560.       String var1 = this.millisText.getText();
  561.  
  562.       try {
  563.          this.time = Long.parseLong(var1);
  564.       } catch (Exception var2) {
  565.          this.errorText("Exception: Bad value for millis. Must be Long");
  566.          return;
  567.       }
  568.  
  569.       this.millisFormat();
  570.       this.millisParse();
  571.       this.errorText("Millis changed...");
  572.    }
  573.  
  574.    public void setMillisText() {
  575.       this.millisText.setText(Long.toString(this.time));
  576.    }
  577.  
  578.    public void patternTextChanged() {
  579.       this.setFormatFromPattern();
  580.    }
  581.  
  582.    public void cityChanged() {
  583.       int var1 = this.cityMenu.getSelectedIndex();
  584.       SimpleTimeZone var2 = new SimpleTimeZone(kZoneOffsets[var1], kZoneIDs[var1]);
  585.       var2.setStartRule(3, 1, 1, 7200000);
  586.       var2.setEndRule(9, -1, 1, 7200000);
  587.       this.format.setTimeZone(var2);
  588.       this.millisFormat();
  589.       this.millisParse();
  590.    }
  591.  
  592.    private boolean addMode() {
  593.       return this.add;
  594.    }
  595.  
  596.    public void dateFieldChanged(boolean var1) {
  597.       String var2 = this.dateMenu.getSelectedItem();
  598.       byte var3 = 0;
  599.       if (var2.equals("Year")) {
  600.          var3 = 1;
  601.       } else if (var2.equals("Month")) {
  602.          var3 = 2;
  603.       } else if (var2.equals("Day of Month")) {
  604.          var3 = 5;
  605.       } else if (var2.equals("Hour of Day")) {
  606.          var3 = 11;
  607.       } else if (var2.equals("Minute")) {
  608.          var3 = 12;
  609.       } else if (var2.equals("Second")) {
  610.          var3 = 13;
  611.       } else if (var2.equals("Millisecond")) {
  612.          var3 = 14;
  613.       }
  614.  
  615.       this.format.getCalendar().setTime(new Date(this.time));
  616.       if (var1) {
  617.          if (this.addMode()) {
  618.             this.format.getCalendar().add(var3, 1);
  619.          } else {
  620.             this.format.getCalendar().roll(var3, true);
  621.          }
  622.       } else if (this.addMode()) {
  623.          this.format.getCalendar().add(var3, -1);
  624.       } else {
  625.          this.format.getCalendar().roll(var3, false);
  626.       }
  627.  
  628.       this.time = this.format.getCalendar().getTime().getTime();
  629.       this.setMillisText();
  630.       this.millisFormat();
  631.       this.millisParse();
  632.    }
  633.  
  634.    public void errorText(String var1) {
  635.    }
  636. }
  637.