Banner Java

Menggunakan Spinner Model Kelas SpinnerDateModel

Kelas SpinnerDateModel digunakan untuk menampilkan urutan tanggal (date) di obyek spinner. Dari tabel konstruktor dibawah ini, batasan urutan tanggal atas dan bawah ditentukan oleh parameter start dan end. Kedua parameter ini dapat bernilai null, artinya urutan tanggal yang ditampilkan tidak mempunyai batasan baik atas maupun bawah. Kenaikan dan penurunan perubahan tanggal ditentukan oleh parameter calendarField, sedangkan tanggal saat ini yang ditampilkan oleh obyek spinner ditentukan oleh parameter value. Anda dapat mengakses nilai saat ini dengan menggunakan metoda getValue.

Tabel konstruktor kelas SpinnerDateModel
Konstruktor Keterangan
SpinnerDateModel() Mengkonstruksi obyek SpinnerDateModel tanpa mempunyai batasan atas maupun bawah dimana nilai awal yang ditampilkan adalah tanggal saat ini dan parameter calendarField sama dengan Calendar.DAY_OF_MONTH.
SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField) Mengkonstruksi obyek SpinnerDateModel dengan menentukan tanggal hari ini, batasan atas dan bawah serta kenaikan atau penurunan.

Nilai yang dikembalikan metoda getValue adalah tipe kelas java.util.Calendar. Anda terlebih dahulu harus mengkonversi ke tipe yang bersesuaian. Misalnya, apabila nilai yang dikembalikan oleh metoda getValue akan simpan di variabel dengan tipe kelas String, maka nilai tersebut harus dikonversi terlebih dahulu ke bentuk string. Apabila variabel yang akan digunakan untuk menyimpan nilai dideklarasikan dengan tipe java.util.Calendar, maka tidak diperlukan pengkonversian.

Contoh program sederhana berikut ini menggunakan kelas SpinnerDateModel untuk menampilkan tanggal di obyek spinner. Untuk merubah tanggal selain tanggal hari ini, pengguna program dapat mengklik salah satu dari dua anak panah kecil yang berada di posisi sebelah kanan.

// Nama file : DemoSpinnerDateModel.java
// Mendemonstrasikan penggunaan kelas SpinnerDateModel

// Mengimpor kelas
import javax.swing.*;
import java.awt.*;
import java.util.*;

// Mendeklarasikan kelas DemoSpinnerDateModel
public class DemoSpinnerDateModel extends JFrame {

   private JSpinner spinner;
   private SpinnerDateModel dateModel;
   private JSpinner.DateEditor dateEditor;
   private Font font;

   // Konstruktor tanpa argumen
   public DemoSpinnerDateModel() {

      font = new Font("Times New Roman", Font.BOLD, 18);

      dateModel = new SpinnerDateModel();
      spinner = new JSpinner(dateModel);
      dateEditor = new JSpinner.DateEditor(spinner, "dd MMMM yyyy");
      spinner.setEditor(dateEditor);
      spinner.setFont(font);

      getContentPane().add(spinner);
   }

   // Metoda main
   public static void main(String[] args) {
      DemoSpinnerDateModel frame = new DemoSpinnerDateModel();
      frame.setTitle("Kelas DemoSpinnerDateModel");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setSize(180, 90);
      frame.setVisible(true);
   }
}

Obyek SpinnerDateModel dikonstruksi menggunakan konstruktor tanpa argumen (pernyataan baris nomor 22). Dengan konstruktor ini, obyek SpinnerDateModel tidak mempunyai batasan atas maupun bawah, dimana nilai awal yang ditampilkan adalah tanggal saat ini. Anda dapat menekan salah satu dari dua tombol anak panah yang ada untuk menentukan atau menyesuaikan dengan tanggal yang diinginkan.

Obyek dari kelas SpinnerDateModel kemudian digunakan sebagai argumen parameter konstruktor kelas JSpinner untuk membuat obyek spinner yang akan menampilkan tanggal (pernyataan baris nomor 23). Anda dapat menentukan pola elemen atau nilai model saat ini yang ditampilkan oleh obyek spinner (disini menggunakan pola “dd MMMM yyyy”). Pola tersebut dapat ditentukan dengan menggunakan editor dari kelas JSpinner. Editor tersebut didefinisikan sebagai static inner class di dalam kelas JSpinner. Berikut ini adalah sintak untuk menentukan pola menggunakan editor kelas JSpinner:

   JSpinner.DateEditor editor = new JSpinner.DateEditor(JSpinner spinner, String patern);

setelah pola tampilan ditentukan dengan menggunakan editor, Anda perlu mengatur agar obyek spinner menggunakan pola tersebut. Untuk maksud ini, Anda dapat menggunakan metoda setEditor seperti pernyataan di baris nomor 25.

Menggunakan spinner model kelas SpinnerDateModel

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.