📄 daytask.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class DayTask extends JFrame{
int temp;
public JList list;
public JComboBox comboboxMonth;
public JButton[]buttonDay;
public JLabel[]labelWeek;
public Container container;
public BorderLayout layout;
public JPanel panel;
public JPanel panelN;
public JPanel panelC;
public JPanel panelCN;
public JPanel panelCC;
public JPanel panelS;
public JTextArea area;
public JScrollBar scrollbar;
public Calendar calendar;
public Calendar nowtime;
public String year;
public String month;
public String day;
public String listYears[];
public String week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
public String listMonth[]={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
public int i;
public int k;
public DayTask() {
// TODO Auto-generated constructor stub
super("学习计划");
container=getContentPane();
layout=new BorderLayout();
container.setLayout(layout);
calendar=Calendar.getInstance();
calendar.setTime(new Date());
nowtime=Calendar.getInstance();
nowtime.setTime(new Date());
year=String.valueOf(calendar.get(Calendar.YEAR));
month=String.valueOf(calendar.get(Calendar.MONTH)+1);
//String listYears[]={"2007","2008","2009"};
listYears=new String[70];
for(int i=1980;i<2050;i++)
listYears[i-1980]=new String(""+i);
list=new JList(listYears);
list.setSelectedValue(year, true);
comboboxMonth=new JComboBox(listMonth);
comboboxMonth.setSelectedIndex(calendar.get(Calendar.MONTH));
comboboxMonth.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0){
//public void itemStateChanged(ItemEvent arg0) {
// TODO Auto-generated method stub
int month=comboboxMonth.getSelectedIndex();
String year=(String)list.getSelectedValue();
DayLayout(year,month);
}
}
);
list.setVisibleRowCount(1);
JScrollPane scrollpane=new JScrollPane(list);
scrollbar=scrollpane.getVerticalScrollBar();
k=calendar.get(Calendar.YEAR)-1980;
i=20*(calendar.get(Calendar.YEAR)-1980)+10;
scrollbar.setMaximum(i);
scrollbar.setValue(i);
i=scrollbar.getValue();
scrollbar.addAdjustmentListener(
new AdjustmentListener(){
@Override
public void adjustmentValueChanged(AdjustmentEvent arg0) {
// TODO Auto-generated method stub
if(i<scrollbar.getValue())list.setSelectedIndex(++k);
if(i>scrollbar.getValue())list.setSelectedIndex(--k);
i=scrollbar.getValue();
int month=comboboxMonth.getSelectedIndex();
String year=(String)list.getSelectedValue();
DayLayout(year,month);
}
}
);
panelN=new JPanel();
panelN.setLayout(new FlowLayout());
panelN.add(scrollpane);
panelN.add(comboboxMonth);
//week[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
panelCN=new JPanel();
labelWeek=new JLabel[7];
panelCN.setLayout(new GridLayout(1,7,1,1));
for(int i=0;i<7;i++){
labelWeek[i]=new JLabel(week[i]);
panelCN.add(labelWeek[i]);
}
calendar.set(Integer.parseInt(year), Integer.parseInt(month)-1,1);
int w=calendar.get(Calendar.DAY_OF_WEEK);
int Wyear=Integer.parseInt(year);
int Mdays;
int Ymonth=Integer.parseInt(month);
if(Ymonth==2){
if((Wyear%4==0&&Wyear%100!=0)||Wyear%400==0)
Mdays=29;
else
Mdays=28;
}
else{
if(Ymonth==1||Ymonth==3||Ymonth==5||Ymonth==7||Ymonth==8||Ymonth==10||Ymonth==12)
Mdays=31;
else
Mdays=30;
}
panelCC=new JPanel();
panelCC.setLayout(new GridLayout(6,7,1,1));
buttonDay=new JButton[42];
for(int i=1;i<w;i++){
buttonDay[i-1]=new JButton("");
//buttonDay[i-1].setVisible(false);
panelCC.add(buttonDay[i-1]);
}
for(int i=0;i<Mdays;i++){
if(nowtime.get(Calendar.DAY_OF_MONTH)==(i+1)){
buttonDay[w+i]=new JButton(""+(i+1));
buttonDay[w+i].setBackground(Color.red);
panelCC.add(buttonDay[w+i]);
}
else{
buttonDay[w+i]=new JButton(""+(i+1));
panelCC.add(buttonDay[w+i]);
}
}
for(int i=0;i<(42-w-Mdays+1);i++){
buttonDay[w+Mdays+i-1]=new JButton("");
//buttonDay[w+Mdays+i-1].setVisible(false);
panelCC.add(buttonDay[w+Mdays+i-1]);
}
area=new JTextArea(20,10);
JLabel label=new JLabel("今天学到了:");
panelS=new JPanel();
panelS.setLayout(new BorderLayout());
panelS.add(label,BorderLayout.NORTH);
panelS.add(new JScrollPane(area),BorderLayout.CENTER);
panelC=new JPanel();
panelC.setLayout(new BorderLayout());
panelC.add(panelCN,BorderLayout.NORTH);
panelC.add(panelCC,BorderLayout.CENTER);
container.add(panelN,BorderLayout.NORTH);
container.add(panelC,BorderLayout.CENTER);
//container.add(panelS,BorderLayout.SOUTH);
setSize(400,300);
setVisible(true);
}
protected void DayLayout(String year,int month) {
// TODO Auto-generated method stub
calendar.set(Integer.parseInt(year),month,1);
int w=calendar.get(Calendar.DAY_OF_WEEK);
int Wyear=Integer.parseInt(year);
int Mdays;
int Ymonth=month+1;
if(Ymonth==2){
if((Wyear%4==0&&Wyear%100!=0)||Wyear%400==0)
Mdays=29;
else
Mdays=28;
}
else{
if(Ymonth==1||Ymonth==3||Ymonth==5||Ymonth==7||Ymonth==8||Ymonth==10||Ymonth==12)
Mdays=31;
else
Mdays=30;
}
panelCC.removeAll();
buttonDay=new JButton[42];
for(int i=1;i<w;i++){
buttonDay[i-1]=new JButton("");
//buttonDay[i-1].setVisible(false);
panelCC.add(buttonDay[i-1]);
}
for(int i=0;i<Mdays;i++){
if(nowtime.get(Calendar.DAY_OF_MONTH)==(i+1)){
buttonDay[w+i]=new JButton(""+(i+1));
buttonDay[w+i].setBackground(Color.red);
panelCC.add(buttonDay[w+i]);
}
else{
buttonDay[w+i]=new JButton(""+(i+1));
panelCC.add(buttonDay[w+i]);
}
}
for(int i=0;i<(42-w-Mdays+1);i++){
buttonDay[w+Mdays+i-1]=new JButton("");
//buttonDay[w+Mdays+i-1].setVisible(false);
panelCC.add(buttonDay[w+Mdays+i-1]);
}
setSize(400,300);
setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DayTask application=new DayTask();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -