?? mainframe.java
字號(hào):
String pass= " OK ";
String quit="Cancel";
String pre="<<";
String next=">>";
String c_pre="∧";
String c_next="∨";
String com=null;
com=e.getActionCommand();
System.out.println("comman is:"+com);
int c_year, c_month, c_week;
c_year = Integer.parseInt(com1.getSelectedItem().toString()); // 得到當(dāng)前所選年份
c_month = Integer.parseInt(com2.getSelectedItem().toString())-1; // 得到當(dāng)前月份,并減1,計(jì)算機(jī)中的月為0-11
System.out.println("year---"+c_year+"month-----"+(c_month+1));
if(com.equals(pass)) //響應(yīng)OK按鈕,選擇日期并顯示
{
System.out.println("It is ok !");
String getdate=null;
getdate=getSelectData();
System.out.println("Selected date is \t"+getdate);
showDate(getdate);
}
if(com.equals(quit)) //響應(yīng)cancal按鈕,退出
{
date_mf.dispose();
}
if(com.equals(pre)) //實(shí)現(xiàn)上一個(gè)月按鈕
{
c_month-=1;
if(c_month<0)
{
c_year-=1;
c_month=11;
}
com1.setSelectedIndex(c_year-1);
com2.setSelectedIndex(c_month);
sel_year=com1.getSelectedItem().toString();
sel_month=com2.getSelectedItem().toString();
String date=sel_month+"-"+sel_day+"-"+sel_year;
text.setText(date);
c_week = use(c_year, c_month); // 調(diào)用函數(shù)use,得到星期幾
reSetDay(c_week, c_year, c_month,sel_day); // 調(diào)用函數(shù)Resetday
}
if(com.equals(next)) //實(shí)現(xiàn)下一個(gè)月
{
c_month+=1;
if(c_month>11)
{
c_year+=1;
c_month=0;
}
sel_year=com1.getSelectedItem().toString();
sel_month=com2.getSelectedItem().toString();
com1.setSelectedIndex(c_year-1);
com2.setSelectedIndex(c_month);
String date=sel_month+"-"+sel_day+"-"+sel_year;
text.setText(date);
c_week = use(c_year, c_month); // 調(diào)用函數(shù)use,得到星期幾
reSetDay(c_week, c_year, c_month,sel_day); // 調(diào)用函數(shù)Resetday
}
if(com.equals(c_pre)) //日期文本框上一個(gè)日期的方法
{
int temp_str;
int temp_end;
int str_pos=-1;
int end_pos=-1;
int len=0;
int day_count[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
String l_year=null;
String l_month=null;
String l_day=null;
String field=text.getText();//獲得時(shí)間
len=field.length();
str_pos=field.indexOf('-');
end_pos=field.lastIndexOf('-');
temp_str=str;
temp_end=end;
str=text.getSelectionStart();
end=text.getSelectionEnd();//獲得選中的區(qū)域的位置
if(str==end)
{
str=temp_str;
end=temp_end;
}
l_month=field.substring(0, str_pos);
l_day=field.substring(str_pos+1,end_pos);
l_year=field.substring(end_pos+1,len);//獲得各個(gè)位置的日期數(shù)值
System.out.println(str+"---str and end---"+end);
System.out.println(str_pos+"********"+end_pos); //控制臺(tái)輸出信息
Integer s_year=new Integer(l_year);
Integer s_month=new Integer(l_month);
Integer s_day=new Integer(l_day);
System.out.println(s_month+"%%%%%"+s_day+"%%%%%%%"+s_year);//控制臺(tái)輸出信息
if(s_year%4==0)//閏年的2月有29天
day_count[2]=29;
if(str==0)//修改月份
{
s_month-=1;
if(s_month<1)
{
s_month=12;
s_year-=1;
if(s_year<1)
s_year=1;
}
}
if(1<str && str<4)//修改日期
{
s_day-=1;
if(s_day<1)
{
s_month-=1;
if(s_month<1)
{
s_month=12;
s_year-=1;
if(s_year%4==0)
day_count[2]=29;
else
day_count[2]=28;
if(s_year<1)
s_year=1;
}
s_day=day_count[s_month];
}
sel_day=String.valueOf(s_day);
}
if(str>=4)//修改年份
{
s_year-=1;
if(s_year<1)
s_year=1;
}
System.out.println(s_month+"%%%%%"+s_day+"%%%%%%%"+s_year);//控制臺(tái)輸出信息
String m_date=s_month+"-"+s_day+"-"+s_year;
text.setText(m_date);//重設(shè)日期
int s_week = use(s_year, s_month-1); // 調(diào)用函數(shù)use,得到星期幾
com1.setSelectedIndex(s_year - 1); // 設(shè)置下拉列表顯示為當(dāng)前年
com2.setSelectedIndex(s_month - 1); // 設(shè)置下拉列表顯示為當(dāng)前年
reSetDay(s_week, s_year, s_month-1,sel_day); // 調(diào)用函數(shù)Resetday
}
if(com.equals(c_next)) //日期文本框下一個(gè)日期方法,注釋可參考上面,幾乎一樣
{
int temp_str;
int temp_end;
int str_pos=-1;
int end_pos=-1;
int len=0;
int day_count[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
String l_year=null;
String l_month=null;
String l_day=null;
String field=text.getText();
len=field.length();
str_pos=field.indexOf('-');
end_pos=field.lastIndexOf('-');
temp_str=str;
temp_end=end;
str=text.getSelectionStart();
end=text.getSelectionEnd();
if(str==end)
{
str=temp_str;
end=temp_end;
}
l_month=field.substring(0, str_pos);
l_day=field.substring(str_pos+1,end_pos);
l_year=field.substring(end_pos+1,len);
System.out.println(str+"---str and end---"+end);
System.out.println(str_pos+"********"+end_pos);
Integer s_year=new Integer(l_year);
Integer s_month=new Integer(l_month);
Integer s_day=new Integer(l_day);
System.out.println(s_month+"%%%%%"+s_day+"%%%%%%%"+s_year);
if(s_year%4==0)
day_count[2]=29;
if(str==0)
{
s_month+=1;
if(s_month>12)
{
s_month=1;
s_year+=1;
if(s_year>10000)
s_year=100000;
}
}
if(1<str && str<4)
{
s_day+=1;
if(s_day>day_count[s_month])
{
s_month+=1;
if(s_month>12)
{
s_month=1;
s_year+=1;
if(s_year%4==0)
day_count[2]=29;
else
day_count[2]=28;
if(s_year>100000)
s_year=100000;
}
s_day=1;
}
sel_day=String.valueOf(s_day);
}
if(str>=4)
{
s_year+=1;
if(s_year>100000)
s_year=100000;
}
System.out.println(s_month+"%%%%%"+s_day+"%%%%%%%"+s_year);//控制臺(tái)輸出信息
String m_date=s_month+"-"+s_day+"-"+s_year;
text.setText(m_date);
int s_week = use(s_year, s_month-1); // 調(diào)用函數(shù)use,得到星期幾
com1.setSelectedIndex(s_year - 1); // 設(shè)置下拉列表顯示為當(dāng)前年
com2.setSelectedIndex(s_month - 1); // 設(shè)置下拉列表顯示為當(dāng)前年
reSetDay(s_week, s_year, s_month-1,sel_day); // 調(diào)用函數(shù)Resetday
}
}
}
class selectAction implements ActionListener //選擇日期
{
public void actionPerformed(ActionEvent arg0)
{
String mpos=arg0.getActionCommand();//獲得被點(diǎn)擊的按鈕的值
System.out.println(mpos);
String temp=sel_day;
System.out.println("temp is------"+temp);//控制臺(tái)輸出調(diào)試信息
sel_day=mpos;//存儲(chǔ)選擇的日期
if(!mpos.equals(""))//修改選中的日期的顏色
{
for(int i=0;i<49;i++)
{
if(datebutton[i].getText().equals(temp))
{
datebutton[i].setForeground(Color.BLACK);
}
if(datebutton[i].getText().equals(mpos))
{
datebutton[i].setForeground(Color.RED);
}
}
}
}
}
class mouseclick extends MouseAdapter //鼠標(biāo)雙擊事件監(jiān)聽器
{
public void mouseClicked(MouseEvent e)
{
if(e.getClickCount() == 2)//實(shí)現(xiàn)雙擊
{
System.out.println("mouse double click");
String getdate=null;
getdate=getSelectData();
System.out.println("選擇的日期是 \t"+getdate);
if(!sel_day.equals(""))
{
showDate(getdate);//返回選擇的時(shí)間
}
}
}
}
public static void main(String[] args) //主函數(shù),生成主架構(gòu)
{
JFrame.setDefaultLookAndFeelDecorated(true);
new MainFrame();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -