How to create a date spinner in Java?

To create a date spinner, use the SpinnerDateModel class. Within that set the date format −

Date today = new Date();
JSpinner spinner2 = new JSpinner(new SpinnerDateModel(today, null, null, Calendar.MONTH));
JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner2, "dd/MM/yy");
spinner2.setEditor(editor);

Above, we have set the Date format to be −

dd/MM/yy

The following is an example to create a date spinner in Java −

Example

<span class="kwd">package</span><span class="pln"> </span><span class="kwd">my</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">awt</span><span class="pun">.</span><span class="typ">GridBagLayout</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">Calendar</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">Date</span><span class="pun">;</span>
<span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">swing</span><span class="pun">.*;</span>
<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">SwingDemo</span><span class="pln"> </span><span class="pun">{</span>
<span class="kwd">   public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span>
<span class="typ">      JFrame</span><span class="pln"> frame </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JFrame</span><span class="pun">(</span><span class="str">"Spinner Demo"</span><span class="pun">);</span>
<span class="typ">      JPanel</span><span class="pln"> panel </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JPanel</span><span class="pun">();</span>
<span class="typ">      JLabel</span><span class="pln"> label </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JLabel</span><span class="pun">(</span><span class="str">"Exam No."</span><span class="pun">);</span>
<span class="typ">      JLabel</span><span class="pln"> label2 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JLabel</span><span class="pun">(</span><span class="str">" Appeared On"</span><span class="pun">);</span>
<span class="pln">      panel</span><span class="pun">.</span><span class="pln">setLayout</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">GridBagLayout</span><span class="pun">());</span>
<span class="kwd">      int</span><span class="pln"> min </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span>
<span class="kwd">      int</span><span class="pln"> max </span><span class="pun">=</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span>
<span class="kwd">      int</span><span class="pln"> step </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span>
<span class="kwd">      int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span>
<span class="typ">      SpinnerModel</span><span class="pln"> </span><span class="kwd">value</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">SpinnerNumberModel</span><span class="pun">(</span><span class="pln">i</span><span class="pun">,</span><span class="pln"> min</span><span class="pun">,</span><span class="pln"> max</span><span class="pun">,</span><span class="pln"> step</span><span class="pun">);</span>
<span class="typ">      JSpinner</span><span class="pln"> spinner </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JSpinner</span><span class="pun">(</span><span class="kwd">value</span><span class="pun">);</span>
<span class="pln">      spinner</span><span class="pun">.</span><span class="pln">setBounds</span><span class="pun">(</span><span class="lit">50</span><span class="pun">,</span><span class="pln"> </span><span class="lit">80</span><span class="pun">,</span><span class="pln"> </span><span class="lit">70</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">);</span>
<span class="typ">      Date</span><span class="pln"> today </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Date</span><span class="pun">();</span>
<span class="typ">      JSpinner</span><span class="pln"> spinner2 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JSpinner</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">SpinnerDateModel</span><span class="pun">(</span><span class="pln">today</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Calendar</span><span class="pun">.</span><span class="pln">MONTH</span><span class="pun">));</span>
<span class="typ">      JSpinner</span><span class="pun">.</span><span class="typ">DateEditor</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">JSpinner</span><span class="pun">.</span><span class="typ">DateEditor</span><span class="pun">(</span><span class="pln">spinner2</span><span class="pun">,</span><span class="pln"> </span><span class="str">"dd/MM/yy"</span><span class="pun">);</span>
<span class="pln">      spinner2</span><span class="pun">.</span><span class="pln">setEditor</span><span class="pun">(</span><span class="pln">editor</span><span class="pun">);</span>
<span class="pln">      panel</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">label</span><span class="pun">);</span>
<span class="pln">      panel</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">spinner</span><span class="pun">);</span>
<span class="pln">      panel</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">label2</span><span class="pun">);</span>
<span class="pln">      panel</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">spinner2</span><span class="pun">);</span>
<span class="pln">      frame</span><span class="pun">.</span><span class="kwd">add</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span>
<span class="pln">      frame</span><span class="pun">.</span><span class="pln">setSize</span><span class="pun">(</span><span class="lit">550</span><span class="pun">,</span><span class="lit">300</span><span class="pun">);</span>
<span class="pln">      frame</span><span class="pun">.</span><span class="pln">setVisible</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span>
<span class="pun">   }</span>
<span class="pun">}</span>

Output

Updated on: 2019-07-30T22:30:26+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements