⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendarhack.java

📁 oraily的Swing hacks code
💻 JAVA
字号:
import javax.swing.*;import java.awt.*;import java.util.*;import java.text.SimpleDateFormat;import java.awt.event.*;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);            }        }    }    public static void main(String[] args) {        JFrame frame = new JFrame();        CalendarHack ch = new CalendarHack();        ch.setDate(new Date());        frame.getContentPane().add(ch);        frame.setUndecorated(true);                MoveMouseListener mml = new MoveMouseListener(ch);        ch.addMouseListener(mml);        ch.addMouseMotionListener(mml);                frame.pack();        frame.setVisible(true);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -