Paint a calendar : Calendar « Swing Components « Java

Paint a calendar


import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {
  SimpleDateFormat month = new SimpleDateFormat("MMMM");
  SimpleDateFormat year = new SimpleDateFormat("yyyy");
  SimpleDateFormat day = new SimpleDateFormat("d");
  Date date = new Date();

  public void setDate(Date date) { = date;
  public void paintComponent(Graphics g) {
    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
    g.fillRect(0, 0, getWidth(), getHeight());
    g.drawString(month.format(date), 34, 36);
    g.drawString(year.format(date), 235, 36);

    Calendar today = Calendar.getInstance();
    Calendar cal = Calendar.getInstance();
    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++) {
        Color col =;
          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();
    frame.setPreferredSize(new Dimension(300, 280));

    Main ch = new Main();
    ch.setDate(new Date());



Related examples in the same category

1.toedter: Java Calendartoedter: Java Calendar
2.Java Date Chooser (ComboBox)Java Date Chooser (ComboBox)
3.Java Day ChooserJava Day Chooser
4.Java Month ChooserJava Month Chooser
5.Java Year ChooserJava Year Chooser
6.Swing Date chooser (Selector)
7.Swing Date selector (Chooser): more monthsSwing Date selector (Chooser): more months
8.Swing Date selector (Chooser): darg to choose multiple datesSwing Date selector (Chooser): darg to choose multiple dates
9.Swing Date selector (Chooser): toggle selectionSwing Date selector (Chooser): toggle selection
10.Swing Date selector (Chooser): highlightSwing Date selector (Chooser): highlight
11.Bean to display a month calendar in a JPanelBean to display a month calendar in a JPanel
12.Swing Date selector (Chooser) with source code
13.Calendar in a JWindow
14.A panel that allows the user to select a date.
15.JYearChooser is a bean for choosing a year