package de.javasoft.synthetica.democenter.examples.monthview;

import java.awt.Color;
import java.awt.EventQueue;
import java.util.Calendar;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;

import org.jdesktop.swingx.JXMonthView;

/**
 * A simple MonthView application used to demonstrate and explain  
 * basic functionality.
 */
@SuppressWarnings("serial")
public class SimpleMonthView extends JFrame
{
  public SimpleMonthView()
  {
    super("Simple MonthView");
    //create and add the hyperlinkpanel
    JPanel panel = new JPanel();    
    panel.setBorder(new EmptyBorder(10,10,10,10));
    panel.setBackground(Color.WHITE);
    createAndAddComponents(panel);
    add(panel);

    //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    pack();
    setLocationRelativeTo(null);        //center
    setVisible(true);
  }

  /**
   * Creates components and adds them the panel.
   */
  private void createAndAddComponents(JPanel panel)
  {
//@highlight
    JXMonthView mv1 = new JXMonthView();
    mv1.setShowingLeadingDays(true);
    mv1.setShowingTrailingDays(true);
    mv1.setShowingWeekNumber(true);
    mv1.setDayForeground(Calendar.SATURDAY, new Color(0xE04020));
    mv1.setDayForeground(Calendar.SUNDAY, new Color(0xE04020));
    panel.add(mv1);
//@/highlight
  }

  /**
   * Static main method for application startup. 
   */
  public static void main(String[] args)
  {
    EventQueue.invokeLater(new Runnable()
    {
      public void run()
      {
        try
        {
          UIManager.setLookAndFeel("de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel");
          new SimpleMonthView();
        }
        catch (Exception e)
        {
          e.printStackTrace();
        }
      }
    });
  }  
}
