📄 date.java
字号:
package date;import java.awt.*;import com.borland.jbcl.layout.*;import javax.swing.*;import java.io.*;import java.util.Calendar;import java.awt.event.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class Date extends JPanel{ XYLayout xYLayout1 = new XYLayout(); JComboBox year = new JComboBox(); JComboBox month = new JComboBox(); JComboBox day = new JComboBox(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); private String date_str; private String separator; boolean enable=true; public Date() { try { jbInit(); } catch(Exception ex) { ex.printStackTrace(); } } private void jbInit() throws Exception { this.setLayout(xYLayout1); jLabel1.setFont(new java.awt.Font("SansSerif", 0, 14)); jLabel1.setText("年"); jLabel2.setFont(new java.awt.Font("SansSerif", 0, 14)); jLabel2.setText("月"); jLabel3.setFont(new java.awt.Font("SansSerif", 0, 14)); jLabel3.setText("日"); day.setFont(new java.awt.Font("DialogInput", 0, 15)); year.setFont(new java.awt.Font("DialogInput", 0, 15)); year.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { year_itemStateChanged(e); } }); month.setFont(new java.awt.Font("DialogInput", 0, 15)); month.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { month_itemStateChanged(e); } }); xYLayout1.setWidth(245); xYLayout1.setHeight(31); this.setEnabled(true); this.add(day, new XYConstraints(172, 3, 52, 24)); this.add(year, new XYConstraints(2, 3, 70, 24)); this.add(jLabel1, new XYConstraints(74, 6, -1, -1)); this.add(month, new XYConstraints(95, 3, 54, 24)); this.add(jLabel2, new XYConstraints(152, 6, -1, -1)); this.add(jLabel3, new XYConstraints(227, 6, -1, -1)); Calendar date = Calendar.getInstance(); int year_int = date.get(Calendar.YEAR); //取年 int month_int = (date.get(Calendar.MONTH)+1); //取月 int day_int = date.get(Calendar.DATE ); for(int i=0; i<50; i++) year.addItem(Integer.toString(2000+i)) ; for(int i=1; i<13; i++) month.addItem(Integer.toString(i)) ; for(int i=1; i<32; i++) day.addItem(Integer.toString(i)) ; year.setSelectedItem(Integer.toString(year_int) ) ; checkFeb(Integer.parseInt(year.getSelectedItem() .toString() ),month,day); month.setSelectedItem(Integer.toString(month_int) ) ; checkFeb(Integer.parseInt(year.getSelectedItem() .toString() ),month,day); day.setSelectedItem(Integer.toString(day_int) ) ; separator="-"; year.setEnabled(enable) ; month.setEnabled(enable) ; day.setEnabled(enable) ; /*jLabel1.setEnabled(enable) ; jLabel2.setEnabled(enable) ; jLabel3.setEnabled(enable) ;*/ } public static void main(String[] args) { Date date1 = new Date(); } public void setDate_str(String date_str) { /* year.setSelectedItem(date_str.substring(0,3) ); month.setSelectedItem(date_str.substring(5,6)) ; day.setSelectedItem(date_str.substring(8,9)) ;*/ this.date_str = date_str; } public String getDate_str() { String monthstr=month.getSelectedItem().toString(); if(monthstr.length() <2) monthstr="0"+monthstr; String daystr=day.getSelectedItem().toString(); if(daystr.length() <2) daystr="0"+daystr; date_str=year.getSelectedItem().toString() +separator+monthstr +separator+daystr ; return date_str; } public JComboBox getYear() { return year;//.getSelectedItem() .toString() ; } public void setYear(String year) { this.year.setSelectedItem(year) ; } public JComboBox getDay() { return day;//.getSelectedItem().toString() ; } public void setDay(String day) { this.day.setSelectedItem(day); } public JComboBox getMonth() { return month;//.getSelectedItem().toString(); } public void setMonth(String month) { this.month.setSelectedItem(month);; } public void setSeparator(String separator) { this.separator = separator; } public String getSeparator() { return separator; } public void setYearRange(int minYear,int maxYear) { for(int i=minYear; i<=maxYear; i++) year.addItem(Integer.toString(i)) ;} public void setEnable(boolean enable) { this.enable = enable; year.setEnabled(this.enable) ; month.setEnabled(this.enable) ; day.setEnabled(this.enable) ; /*jLabel1.setEnabled(this.enable) ; jLabel2.setEnabled(this.enable) ; jLabel3.setEnabled(this.enable) ;*/ try{ jbInit();} catch(Exception ex) { System.out .println(ex.getMessage() ) ; } } public static void checkFeb(int year,JComboBox c1,JComboBox c2){ int y0=year; int j=c2.getSelectedIndex(),i=1; JComboBox cBox1=c1; JComboBox cBox2=c2; switch(cBox1.getSelectedIndex()){ case 3: case 5: case 8: case 10://小月 c2.removeAllItems(); for(i=1;i<31;i++){ c2.addItem(Integer.toString(i)); } c2.setSelectedIndex(j%30); return; case 1://二月 c2.removeAllItems(); if(isLeapYear(y0)){//闰年 for(i=1;i<30;i++){ c2.addItem(Integer.toString(i)); } c2.setSelectedIndex(j%29); return; } else{//平年 for(i=1;i<29;i++){ c2.addItem(Integer.toString(i)); } c2.setSelectedIndex(j%28); } return; default://大月 c2.removeAllItems(); for(i=1;i<32;i++){ c2.addItem(Integer.toString(i)); } return; } } public static boolean isLeapYear(int yy){ int year=yy; if(year%4!=0) return false; if(year%100==0&&year%400!=0) return false; return true; } void year_itemStateChanged(ItemEvent e) { checkFeb(Integer.parseInt(year.getSelectedItem() .toString() ),month,day); } void month_itemStateChanged(ItemEvent e) { checkFeb(Integer.parseInt(year.getSelectedItem() .toString() ),month,day); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -