Would you like to make this site your homepage? It's fast and easy... 
    
     
     Yes, Please make this my home page! 
     
 
     
     
    
     
Date Picker
Date Picker - Swing
  This is a simple date picker application, using swing components. Click 
on a date button to trigger a message box displaying the date clicked. Change 
this part of the code to capture the date into a variable, for later use in a 
program.
Click to see the applet version    
 
import java.util.*;
import 
java.text.*;
import javax.swing.*;
import java.awt.*;
import 
java.awt.event.*;
 
class DatePickerSwing extends JFrame implements 
ActionListener
{
  private static JButton btns[] = new 
JButton[49];
  private static JButton btnNext = new JButton("Forward 1 
Month >>>");
  private static JButton btnLast = new 
JButton("<<< Back 1 Month");
  private static JLabel lblMth = 
new JLabel();
  private static JLabel lblYr = new JLabel();
  
private static Calendar cal = Calendar.getInstance();
  private static 
String months[] = {"January","February","March","April",
  
"May","June","July","August","September","October","November","December"};
  
private static int mth = 0;
  private static int yr = 0;
  
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, dd MMMM yyyy");
 
  public DatePickerSwing()
  
{
    super("Date Picker");
    
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container 
frame = getContentPane();
    frame.setLayout(new 
BorderLayout());
    setSize(400,500);
    
mth = cal.get(cal.MONTH);
    yr = 
cal.get(cal.YEAR);
    JPanel top = new JPanel(new 
FlowLayout());
    top.add(lblMth);
    
top.add(lblYr);
    JPanel mid = new JPanel(new 
GridLayout(7,7));
    String days[] = 
{"S","M","Tu","W","Th","F","S"};
    for(int i = 0; i < 
btns.length; i++)
    {
      
btns[i] = new JButton();
      btns[i].setFont(new 
Font("Arial",Font.BOLD, 12));
      
btns[i].setPreferredSize(new 
Dimension(50,50));
      if(i < 
7)
      
{
        
btns[i].setText(days[i]);
      
}
      else
      
{
        
btns[i].addActionListener(this);
        
btns[i].setFont(new Font("Arial",Font.BOLD, 
12));
      }
      
mid.add(btns[i]);
    }
    
btnNext.addActionListener(this);
    
btnLast.addActionListener(this);
    JPanel bottom = new 
JPanel(new FlowLayout());
    
bottom.add(btnLast);
    
bottom.add(btnNext);
    
frame.add(top,BorderLayout.NORTH);
    
frame.add(mid,BorderLayout.CENTER);
    
frame.add(bottom,BorderLayout.SOUTH);
    
setDates();
    setLocation(300,200);
    pack();
    
setContentPane(frame);
    
setVisible(true);
  }
 
  private static void setDates()
  
{
    for(int i = 7; i < btns.length; 
i++)
    {
      
btns[i].setText("");
    }
    
cal.set(yr,mth,1);
    
lblMth.setText(months[cal.get(cal.MONTH)]);
    
lblYr.setText(String.valueOf(cal.get(cal.YEAR)));
    int firstDay =  
  cal.get(cal.DAY_OF_WEEK)-1+7;
    int ii = 
1;
    for(int i = firstDay; i<firstDay+31; 
i++)
    {
      
btns[i].setText(String.valueOf(ii));
      
ii++;
      
cal.add(cal.DATE,1);
      if(cal.get(cal.MONTH) != 
(1200 + mth)%12) break;
    }
  }
 
  public void actionPerformed(ActionEvent 
ae)
  {
    if(ae.getSource() == 
btnLast)
    {
      
mth--;
      setDates();
    
}
    else if(ae.getSource() == btnNext)
    
{
      mth++;
      
setDates();
    }
    
else
    {
      for(int i = 7; i 
< btns.length; i++)
      
{
        if(ae.getSource() == 
btns[i])
        
{
          
if(!btns[i].getText().equals(""))
          
{
            Calendar 
cal2 = 
Calendar.getInstance();
            
cal2.set(yr,mth,Integer.parseInt(btns[i].getText()));
            
JOptionPane.showMessageDialog(null,"You selected " 
+
              
sdf.format(cal2.getTime()));
          
}
          
break;
        
}
      }
    }
  
}
  public static void main(String args[]) {new 
DatePickerSwing();}
}
back   
top   
main page   
vb snippets page      
java snippets page     
vbscript snippets page   
email   
Page last modified