?? mycalendar.java
字號:
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyCalendar extends JFrame implements MouseListener
{
int year,month,day;
JTextField showDay[ ];
JLabel title[ ];
Calendar calendar ;
int wwday;
Month change_month;
Year change_year;
Clock1 clock;
String weekday[ ]={ "星期日","星期一", "星期二", "星期三", "星期四","星期五"," 星期六"};
JPanel leftPanel,rightPanel;
public MyCalendar(int year,int month,int day)
{
leftPanel=new JPanel();
JPanel leftCenter=new JPanel();
JPanel leftNorth=new JPanel();
leftCenter.setLayout(new GridLayout(7,7));
rightPanel=new JPanel();
this.year=year;
this.month=month;
this.day=day;
change_year=new Year (this);
change_year.setYear(year);
change_month=new Month(this);
change_month.setMonth(month);
title =new JLabel[7];
showDay=new JTextField[42];
for (int j=0; j<7;j++)
{
title[j]=new JLabel();
title[j].setText(weekday[j]);
title[j].setBorder (BorderFactory.createRaisedBevelBorder());
leftCenter.add(title[j]);
}
for (int i=0;i<42;i++)
{
showDay[i]=new JTextField();
showDay[i].addMouseListener(this);
showDay[i].setEditable(false);
leftCenter.add(showDay[i]);
}
calendar=Calendar.getInstance();
Box box=Box.createHorizontalBox();
box.add(change_year);
box.add(change_month);
leftNorth.add(box);
leftPanel.setLayout(new BorderLayout());
leftPanel.add(leftNorth,BorderLayout.NORTH);
leftPanel.add(leftCenter,BorderLayout.CENTER);
leftPanel.add(new Label("請在年份輸入框內(nèi)輸入所查年份,并以回車確定"), BorderLayout.SOUTH);
leftPanel.validate();
Container con=getContentPane();
JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel);
con.add(split,BorderLayout.CENTER);
con.validate();
clock=new Clock1();
rightPanel.add(clock);
clock.init();
clock.start();
// clock.setResizable(false);
//clock.setVisible(true);
setcalendar(year,month);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
setBounds(100,50,650,285);
validate();
}
public void setcalendar(int year,int month)
{
calendar.set(year,month-1,1);
wwday=calendar.get(Calendar.DAY_OF_WEEK)-1;
if (month==1||month==2||month==3||month==5||month==7||month==8||month==10||month==12)
{
sortnumber(wwday,31);
}
else if (month==8||month==4||month==6||month==11)
{
sortnumber(wwday,30);
}
else if(month==2)
{
if((year%4==0&&year%100!=0)||(year%400==0))
{
sortnumber(wwday,29);
}
else {
sortnumber(wwday,28);
}
}
}
public void sortnumber(int wwday,int mondays)
{
for (int i= wwday,n=1;i< wwday+mondays;i++)
{
showDay[i].setText(" " +n);
if (n==day)
{
showDay[i].setForeground(Color.green);
showDay[i].setFont(new Font ("TimesRoman",Font.BOLD,20));
}
else
{
showDay[i].setFont(new Font ("TimesRoman",Font.BOLD,12));
showDay[i].setForeground(Color.black);
}
if(i%7==6)
{
showDay[i].setForeground(Color.blue);
}
if(i%7==0)
{
showDay[i].setForeground(Color.red);
}
n++;
}
for (int i=0;i<wwday;i++)
{
showDay[i].setText("");
}
for(int i=wwday+mondays;i<42;i++)
{
showDay[i].setText("");
}
}
public int getYear()
{
return year;
}
public void setYear(int y)
{
year=y;
}
public int getMonth()
{
return month;
}
public void setMonth(int m)
{
month=m;
}
public int getDay()
{
return day;
}
public void setDay(int d)
{
day=d;
}
/* public int getHour()
/// {
return hour;
}
public int setHour(int h)
{
hour=h;
}
public int getMinute()
{
return minute;
}
public int setMinute(int mi)
{
minute=mi;
}
public int getSecond()
{
return second;
}
public int setSecond(int s)
{
second=s;
}
*/
public void mousePressed(MouseEvent e)
{
JTextField source=(JTextField)e.getSource();
}
public void mouseClicked(MouseEvent e){
}
public void mouseReleased(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public static void main (String args[])
{
Calendar calendar=Calendar.getInstance();
int y=calendar.get(Calendar.YEAR);
int m= calendar.get(Calendar.MONTH)+1;
int d=calendar.get(Calendar.DAY_OF_MONTH);
//Date rightnow=new Date( );
new MyCalendar(y,m,d) ;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -