import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Calendar;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class Test03 extends JFrame implements ItemListener { JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p31 = new JPanel();
JPanel p32 = new JPanel();
Choice chYear = new Choice();
JLabel ln = new JLabel("年");
Choice chMonth = new Choice();
JLabel ly = new JLabel("月");
Choice chDay = new Choice();
JLabel ld = new JLabel("日");
JButton b1 = new JButton("开始倒计时");
JLabel ls = new JLabel("时");
JLabel lss = new JLabel("");
JLabel lf = new JLabel("分");
JLabel lff = new JLabel("");
JLabel lm = new JLabel("秒");
JLabel lmm = new JLabel("");
JLabel lz = new JLabel("当前系统时间");
JLabel[] week = new JLabel[7];
JLabel[] riqi = new JLabel[42];
JLabel juli = new JLabel("距离");
JLabel julih = new JLabel("");
JLabel nian = new JLabel("年");
JLabel nianh = new JLabel("");
JLabel yue = new JLabel("月");
JLabel yueh = new JLabel("");
JLabel ri = new JLabel("日");
JLabel rih = new JLabel("还有");
JLabel tian = new JLabel("");
JLabel tianh = new JLabel("天");
JLabel shi = new JLabel("");
JLabel shih = new JLabel("时");
JLabel fen = new JLabel("");
JLabel fenh = new JLabel("分");
JLabel miao = new JLabel("");
JLabel miaoh = new JLabel("秒");
public Test03(){
super("快乐倒计时");
setBounds(400, 400, 400, 400);
initShang();
initZhong();
initXia1();
initxia2();
itemStateChanged(null);
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.SOUTH);
p3.setLayout(new GridLayout(0, 2));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void initShang() {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
for (int i = year; i < year+15; i++) {
chYear.add(String.valueOf(i));
}
chYear.add(String.valueOf(year));
for (int i = 1; i < 13; i++) {
chMonth.add(String.valueOf(i));
}
chMonth.add(String.valueOf(month));
for (int i = 1; i < 31; i++) {
chDay.add(String.valueOf(i));
}
chDay.add(String.valueOf(day));
chYear.addItemListener(this);
chMonth.addItemListener(this);
chDay.addItemListener(this);
p1.add(chYear);
p1.add(ln);
p1.add(chMonth);
p1.add(ly);
p1.add(chDay);
p1.add(ld);
p1.add(b1);
}
public void initZhong() {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
p2.add(lz);
p2.add(ls);
p2.add(lss);
lss.setText(lss+"");
p2.add(lf);
p2.add(lff);
lff.setText(lff+"");
p2.add(lm);
p2.add(lmm);
lmm.setText(sec+"");
}
public void initxia2() {
// TODO Auto-generated method stub
p3.add(p31,BorderLayout.WEST);
p31.setLayout(new GridLayout(0,7));
String[] ss = {"日","一","二","三","四","五","六"};
for (int i = 1; i < ss.length; i++) {
week[i]=new JLabel(ss[i],JLabel.CENTER);
p31.add(week[i]);
}
for (int i = 0; i <riqi.length ; i++) {
riqi[i]=new JLabel("",JLabel.CENTER);
p31.add(riqi[i]);
}
}
private void initXia1() {
// TODO Auto-generated method stub
p3.add(p32,BorderLayout.EAST);
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
p32.add(juli);
p32.add(julih);
p32.add(nian);
p32.add(nianh);
p32.add(yue);
p32.add(yueh);
p32.add(ri);
p32.add(rih);
p32.add(tian);
p32.add(tianh);
p32.add(shi);
p32.add(shih);
p32.add(fen);
p32.add(fenh);
p32.add(miao);
p32.add(miaoh);
}
public static void main(String[] args) {
new Test03(); }
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
Calendar cal = Calendar.getInstance();
cal.set(year,month-1,1);
int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
int days= getDays(year,month);
for (int i = 0; i < 42; i++) {
riqi[i].setText("");
}
int index = 1;
for (int i = dayofweek-1; i < dayofweek-1+days; i++) {
riqi[i].setText(String.valueOf(index));
index++;
}
}
public int getDays(int year, int month) {
// TODO Auto-generated method stub
int[] ss = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if((month==2)&&(year%4==0||year%400==0&&year%100!=0)){
return 29;
}
return ss[month];
}}
import java.awt.Choice;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Calendar;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class Test03 extends JFrame implements ItemListener { JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p31 = new JPanel();
JPanel p32 = new JPanel();
Choice chYear = new Choice();
JLabel ln = new JLabel("年");
Choice chMonth = new Choice();
JLabel ly = new JLabel("月");
Choice chDay = new Choice();
JLabel ld = new JLabel("日");
JButton b1 = new JButton("开始倒计时");
JLabel ls = new JLabel("时");
JLabel lss = new JLabel("");
JLabel lf = new JLabel("分");
JLabel lff = new JLabel("");
JLabel lm = new JLabel("秒");
JLabel lmm = new JLabel("");
JLabel lz = new JLabel("当前系统时间");
JLabel[] week = new JLabel[7];
JLabel[] riqi = new JLabel[42];
JLabel juli = new JLabel("距离");
JLabel julih = new JLabel("");
JLabel nian = new JLabel("年");
JLabel nianh = new JLabel("");
JLabel yue = new JLabel("月");
JLabel yueh = new JLabel("");
JLabel ri = new JLabel("日");
JLabel rih = new JLabel("还有");
JLabel tian = new JLabel("");
JLabel tianh = new JLabel("天");
JLabel shi = new JLabel("");
JLabel shih = new JLabel("时");
JLabel fen = new JLabel("");
JLabel fenh = new JLabel("分");
JLabel miao = new JLabel("");
JLabel miaoh = new JLabel("秒");
public Test03(){
super("快乐倒计时");
setBounds(400, 400, 400, 400);
initShang();
initZhong();
initXia1();
initxia2();
itemStateChanged(null);
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.CENTER);
add(p3,BorderLayout.SOUTH);
p3.setLayout(new GridLayout(0, 2));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void initShang() {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
for (int i = year; i < year+15; i++) {
chYear.add(String.valueOf(i));
}
chYear.add(String.valueOf(year));
for (int i = 1; i < 13; i++) {
chMonth.add(String.valueOf(i));
}
chMonth.add(String.valueOf(month));
for (int i = 1; i < 31; i++) {
chDay.add(String.valueOf(i));
}
chDay.add(String.valueOf(day));
chYear.addItemListener(this);
chMonth.addItemListener(this);
chDay.addItemListener(this);
p1.add(chYear);
p1.add(ln);
p1.add(chMonth);
p1.add(ly);
p1.add(chDay);
p1.add(ld);
p1.add(b1);
}
public void initZhong() {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
p2.add(lz);
p2.add(ls);
p2.add(lss);
lss.setText(lss+"");
p2.add(lf);
p2.add(lff);
lff.setText(lff+"");
p2.add(lm);
p2.add(lmm);
lmm.setText(sec+"");
}
public void initxia2() {
// TODO Auto-generated method stub
p3.add(p31,BorderLayout.WEST);
p31.setLayout(new GridLayout(0,7));
String[] ss = {"日","一","二","三","四","五","六"};
for (int i = 1; i < ss.length; i++) {
week[i]=new JLabel(ss[i],JLabel.CENTER);
p31.add(week[i]);
}
for (int i = 0; i <riqi.length ; i++) {
riqi[i]=new JLabel("",JLabel.CENTER);
p31.add(riqi[i]);
}
}
private void initXia1() {
// TODO Auto-generated method stub
p3.add(p32,BorderLayout.EAST);
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
p32.add(juli);
p32.add(julih);
p32.add(nian);
p32.add(nianh);
p32.add(yue);
p32.add(yueh);
p32.add(ri);
p32.add(rih);
p32.add(tian);
p32.add(tianh);
p32.add(shi);
p32.add(shih);
p32.add(fen);
p32.add(fenh);
p32.add(miao);
p32.add(miaoh);
}
public static void main(String[] args) {
new Test03(); }
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
Calendar cal = Calendar.getInstance();
cal.set(year,month-1,1);
int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
int days= getDays(year,month);
for (int i = 0; i < 42; i++) {
riqi[i].setText("");
}
int index = 1;
for (int i = dayofweek-1; i < dayofweek-1+days; i++) {
riqi[i].setText(String.valueOf(index));
index++;
}
}
public int getDays(int year, int month) {
// TODO Auto-generated method stub
int[] ss = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if((month==2)&&(year%4==0||year%400==0&&year%100!=0)){
return 29;
}
return ss[month];
}}
import java.awt.Choice;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.Calendar;
import java.util.Date;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class Test03 extends JFrame implements ItemListener, ActionListener { JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p31 = new JPanel();
JPanel p32 = new JPanel();
Choice chYear = new Choice();
JLabel ln = new JLabel("年");
Choice chMonth = new Choice();
JLabel ly = new JLabel("月");
Choice chDay = new Choice();
JLabel ld = new JLabel("日");
JButton b1 = new JButton("开始倒计时");//加监听,否则点了也没用 JLabel ls = new JLabel("时");
JLabel lss = new JLabel("");
JLabel lf = new JLabel("分");
JLabel lff = new JLabel("");
JLabel lm = new JLabel("秒");
JLabel lmm = new JLabel("");
JLabel lz = new JLabel("当前系统时间"); JLabel[] week = new JLabel[7];
JLabel[] riqi = new JLabel[42]; JLabel juli = new JLabel("距离");
JLabel julih = new JLabel("");
JLabel nian = new JLabel("年");
JLabel nianh = new JLabel("");
JLabel yue = new JLabel("月");
JLabel yueh = new JLabel("");
JLabel ri = new JLabel("日");
JLabel rih = new JLabel("还有");
JLabel tian = new JLabel("");
JLabel tianh = new JLabel("天");
JLabel shi = new JLabel("");
JLabel shih = new JLabel("时");
JLabel fen = new JLabel("");
JLabel fenh = new JLabel("分");
JLabel miao = new JLabel("");
JLabel miaoh = new JLabel("秒"); public Test03() {
super("快乐倒计时");
setBounds(400, 400, 400, 400);
initShang();
initZhong();
initXia1();
initxia2();
itemStateChanged(null);
add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);
add(p3, BorderLayout.SOUTH);
p3.setLayout(new GridLayout(0, 2));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
} public void initShang() {//先加入可选 选项才能选 啊,所以三个循环在前
// TODO Auto-generated method stub
for (int i = 1999; i <=1999 + 15; i++) {
chYear.add(String.valueOf(i));
}
for (int i = 1; i < 13; i++) {
chMonth.add(String.valueOf(i));
}
for (int i = 1; i < 31; i++) {
chDay.add(String.valueOf(i));
}
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
chYear.addItemListener(this);
chMonth.addItemListener(this);
chDay.addItemListener(this);
p1.add(chYear);
p1.add(ln);
p1.add(chMonth);
p1.add(ly);
p1.add(chDay);
p1.add(ld);
p1.add(b1);
b1.addActionListener(this); } public void initZhong() {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
p2.add(lz);
p2.add(lss);
lss.setText(hour+ "");
p2.add(ls);
p2.add(lff);
lff.setText(min + "");
p2.add(lf);
p2.add(lmm);
lmm.setText(sec + "");
p2.add(lm);
} public void initxia2() {
// TODO Auto-generated method stub
p3.add(p31, BorderLayout.WEST);
p31.setLayout(new GridLayout(0, 7));
String[] ss = { "日", "一", "二", "三", "四", "五", "六" };
for (int i = 1; i < ss.length; i++) {
week[i] = new JLabel(ss[i], JLabel.CENTER);
p31.add(week[i]);
}
for (int i = 0; i < riqi.length; i++) {
riqi[i] = new JLabel("", JLabel.CENTER);
p31.add(riqi[i]);
}
} private void initXia1() {
// TODO Auto-generated method stub
p3.add(p32, BorderLayout.EAST);
Integer year = Integer.parseInt(chYear.getSelectedItem());
Integer month = Integer.parseInt(chMonth.getSelectedItem());
Integer day = Integer.parseInt(chDay.getSelectedItem());
p32.add(juli);
p32.add(julih);
julih.setText(year.toString());
p32.add(nian);
p32.add(nianh);
nianh.setText(month.toString());
p32.add(yue);
p32.add(yueh);
yueh.setText(day.toString());
p32.add(ri);
p32.add(rih);
p32.add(tian);
p32.add(tianh);
p32.add(shi);
p32.add(shih);
p32.add(fen);
p32.add(fenh);
p32.add(miao);
p32.add(miaoh);
} public static void main(String[] args) {
new Test03(); } @Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
int year = Integer.parseInt(chYear.getSelectedItem());
int month = Integer.parseInt(chMonth.getSelectedItem());
int day = Integer.parseInt(chDay.getSelectedItem());
Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, 1);
int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
int days = getDays(year, month);
for (int i = 0; i < 42; i++) {
riqi[i].setText("");
}
int index = 1;
for (int i = dayofweek - 1; i < dayofweek - 1 + days; i++) {
riqi[i].setText(String.valueOf(index));
index++;
}
} public int getDays(int year, int month) {
// TODO Auto-generated method stub
int[] ss = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if ((month == 2)
&& (year % 4 == 0 || year % 400 == 0 && year % 100 != 0)) {
return 29;
}
return ss[month];
} @Override
/*这个程序真的代码有点多,不是一下能改完的,
* 这里仅帮你实现点击开始后显示距什么时候XX天,
* 至于XX天XX时XX……你要自己算了
* 提示:计时终点毫秒-现在毫秒=long; 可用这个long 来 new 一个 Date 或 Calendar;
* 另外真正的计时还是自己写吧,最笨的方式也就是不断刷新,更好的方式要好好想罗
*/
public void actionPerformed(ActionEvent e) {
Integer year = Integer.parseInt(chYear.getSelectedItem());
Integer month = Integer.parseInt(chMonth.getSelectedItem());
Integer day = Integer.parseInt(chDay.getSelectedItem());
p32.add(juli);
p32.add(julih);
julih.setText(year.toString());
p32.add(nian);
p32.add(nianh);
nianh.setText(month.toString());
p32.add(yue);
p32.add(yueh);
yueh.setText(day.toString());
p32.add(ri);
p32.add(rih);
rih.setText(day.toString());
p32.add(tian);
p32.add(tianh); tian.setText(day.toString());
p32.add(shi);
p32.add(shih);
shi.setText(day.toString());
p32.add(fen);
p32.add(fenh);
fen.setText(day.toString());
p32.add(miao);
p32.add(miaoh);
miao.setText(day.toString());
}}