⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateinputfield.java

📁 一个应用timer的小程序
💻 JAVA
字号:
package net.sujee.util;import java.awt.GridLayout;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.JComboBox;import javax.swing.JFrame;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.util.Date;import java.util.Calendar;import java.util.GregorianCalendar;public class DateInputField extends JPanel implements ActionListener{   IntegerInputField mYearField,  mDayField;   JComboBox mMonthCombo;   /*   String mMonthArray [] = {  "January", "February", "March",       				"April", "May", "June",           			"July", "August", "September",              			"October", "November", "December"    				};        */   String mMonthArray [] = {  "Jan", "Feb", "Mar",       				"Apr", "May", "Jun",           			"Jul", "Aug", "Sep",              			"Oct", "Nov", "Dec"    				};   int mDayArray [] = { 31,	28,	31,      			30,	31,	30,         		31,	31,	30,           		31,	30,	31             		};   public DateInputField ()   {      this (new Date ());   }   public DateInputField (Date d)   {      super (new FlowLayout (FlowLayout.CENTER,10,2));      Calendar cal = Calendar.getInstance();      cal.setTime(d);      mYearField = new IntegerInputField (0, Integer.MAX_VALUE);      mYearField.setText("" + cal.get (cal.YEAR));      mDayField = new IntegerInputField (0,31);      mDayField.setText ( "" + cal.get (cal.DATE));      setLayout(new GridLayout (1,6));      mMonthCombo = new JComboBox (mMonthArray);      mMonthCombo.addActionListener(this);      mMonthCombo.setSelectedIndex(cal.get (Calendar.MONTH));      add (mDayField);      add (mMonthCombo);      add (mYearField);   }   public Date getDate ()   {      int year = 0,          month = 0,          day = 1;      try      {         year = Integer.parseInt(mYearField.getText());         month = mMonthCombo.getSelectedIndex();         	// Java months are from 0 - 11          	// in month field, we ask for 1-12         day = Integer.parseInt(mDayField.getText());      }      catch (NumberFormatException e)      {      }      GregorianCalendar cal = new GregorianCalendar (year,month,day);      return cal.getTime();   }   public boolean setDate (int date, int month, int year)   {      Calendar cal = Calendar.getInstance();      try      {         cal.set(Calendar.DATE, date);         cal.set(Calendar.MONTH, month);         cal.set(Calendar.YEAR, year);        mDayField.setValue (date);        mMonthCombo.setSelectedIndex (month);        mYearField.setValue (year);        return true;      }      catch (Exception e)      {         return false;      }   }   public void setEnabled(boolean b)   {      super.setEnabled(b);      mDayField.setEnabled(b);      mMonthCombo.setEnabled(b);      mYearField.setEnabled(b);   }   public void actionPerformed(ActionEvent e)   {      Object src = e.getSource();      if (src == mMonthCombo)      {         int date =  mDayField.getValue();         if ( (date <= 0) || (date > mDayArray[mMonthCombo.getSelectedIndex()]) )            mDayField.flagError();         else            mDayField.clearError();      }   }   public static void main (String [] args)   {      JFrame f = new JFrame ("DateInputField2 Test");      DateInputField d = new DateInputField ();      f.getContentPane().add(d);      f.setSize (200,50);      f.setDefaultCloseOperation(3);      f.show();      //d.setEnabled(false);      System.out.println("Date is : " + d.getDate().toString());   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -