欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

自定义日历显示日期,自定义日历日期,public class

来源: javaer 分享于  点击 4008 次 点评:218

自定义日历显示日期,自定义日历日期,public class


public class CalendarHack extends JPanel {        protected Image background, highlight, day_img;        protected SimpleDateFormat month = new SimpleDateFormat("MMMM");protected SimpleDateFormat year = new SimpleDateFormat("yyyy");        protected SimpleDateFormat day = new SimpleDateFormat("d");        protected Date date = new Date();        public void setDate(Date date) {            this.date = date;        }        public CalendarHack() {            background = new ImageIcon("calendar.png").getImage();            highlight = new ImageIcon("highlight.png").getImage();            day_img = new ImageIcon("day.png").getImage();            this.setPreferredSize(new Dimension(300,280));        }        public void paintComponent(Graphics g) {            ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_ANTIALIASING,                RenderingHints.VALUE_ANTIALIAS_ON);            g.drawImage(background,0,0,null);            g.setColor(Color.black);            g.setFont(new Font("SansSerif",Font.PLAIN,18));            g.drawString(month.format(date),34,36);            g.setColor(Color.white);            g.drawString(year.format(date),235,36);        }    }    Calendar today = Calendar.getInstance();    today.setTime(date);    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.set(Calendar.DATE,1);    cal.add(Calendar.DATE,-cal.get(Calendar.DAY_OF_WEEK)+1);    for(int week = 0; week < 6; week++) {        for(int d = 0; d < 7; d++) {            Image img = day_img;            Color col = Color.black;            // only draw if it's actually in this month            if(cal.get(Calendar.MONTH) == today.get(Calendar.MONTH)) {                if(cal.equals(today)) {                img = highlight;                col = Color.white;                }                g.drawImage(img,d*30+46,week*29+81,null);                g.drawString(day.format(cal.getTime()),                d*30+46+4,week*29+81+20);            }            cal.add(Calendar.DATE,+1);        }    }//该片段来自于http://byrx.net
相关栏目:

用户点评