Banner Java

Mengenal Kelas JSpinner Di Pemrograman Java

JSpinner merupakan komponen Java yang digunakan sebagai input field yang memperbolehkan pengguna (user) untuk memilih sebuah nilai angka atau obyek dari rangkaian yang terurut. Untuk membuat rangkaian obyek yang terurut seperti nama hari, bulan atau tanggal, Anda perlu menggunakan spinner models. JSpinner merupakan turunan dari kelas JComponent dengan tampilan berupa kotak teks dan sepasang tombol panah kecil di sisi sebelah kanan. JSpinner memiliki dua konstruktor dan beberapa metoda penting. Berikut ini adalah tabel daftar konstruktor dan beberapa metoda penting dari kelas JSpinner:

Tabel konstruktor kelas JSpinner
Konstruktor Keterangan
JSpinner() Mengkonstruksi obyek spinner dengan model SpinnerNumberModel dengan nilai awal 0 tanpa batasan minimum dan maksimum.
JSpinner(SpinnerModel model) Mengkonstruksi obyek spinner dengan menentukan SpinnerModel

Tabel metoda kelas JSpinner
Metoda Keterangan
addChangeListener(ChangeListener listener) Menambahkan listener untuk perubahan nilai.
getValue() Mengembalikan obyek berupa nilai elemen dari obyek spinner saat ini.
getNextValue() Mengembalikan objek berupa nilai elemen berikutnya dari obyek spinner.
getPreviousValue() Mengembalikan obyek berupa nilai elemen sebelumnya dari obyek spinner.
setValue(Object value) Mengatur ulang nilai elemen saat ini.
setEditor(JComponent editor) Menentukan ulang editor yang menampilkan nilai saat ini dari SpinnerModel.
setModel(SpinnerModel model) Menentukan ulang model yang mewakili nilai obyek spinner.

Contoh program berikut ini mendemonstrasikan bagaimana membuat obyek spinner serta menampilkan nilai sebelumnya (previous value), nilai saat ini (current value) dan nilai berikutnya (next value). Pengguna aplikasi (user) juga dapat menavigasi nilai yang sedang ditampilkan dengan mengklik salah satu dari dua anak panah kecil yang berada di posisi sebelah kanan.

// Nama file : DemoSpinner.java
// Mendemonstrasikan bagaimana membuat obyek spinner

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

// Deklarasi kelas
public class DemoSpinner extends JFrame {

   private JLabel lblPrev = new JLabel("", JLabel.LEFT);
   private JLabel lblCurrent = new JLabel("", JLabel.LEFT);
   private JLabel lblNext = new JLabel("", JLabel.LEFT);
   private JSpinner spinner = new JSpinner();

   // Konstruktor tanpa argumen
   public DemoSpinner() {

      // Mengelompokkan label
      JPanel panel = new JPanel();
      panel.setLayout(new GridLayout(3, 1));
      panel.add(lblPrev);
      panel.add(lblCurrent);
      panel.add(lblNext);

     // Menampilkan nilai spinner awal
     lblPrev.setText("Nilai sebelumnya : " + spinner.getPreviousValue());
     lblCurrent.setText("Nilai saat ini : " + spinner.getValue());
     lblNext.setText("Nilai berikutnya : " + spinner.getNextValue());

     // Penanganan event spinner
     spinner.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent ce) {
           lblPrev.setText("Nilai sebelumnya : " + spinner.getPreviousValue());
           lblCurrent.setText("Nilai saat ini : " + spinner.getValue());
           lblNext.setText("Nilai berikutnya : " + spinner.getNextValue());
        }
     });

      getContentPane().add(spinner, BorderLayout.PAGE_START);
      getContentPane().add(panel, BorderLayout.CENTER);
   }

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

Baris nomor 15 adalah pernyataan untuk mengkonstruksi obyek spinner menggunakan konstruktor pertama (konstruktor tanpa argumen) di tabel di atas. Dengan menggunakan konstruktor ini, secara standar, obyek spinner akan menampilkan nilai integer dengan nilai tampilan awal adalah 0 tanpa mempunyai batasan nilai minimum dan maksimum. Untuk menampilkan nilai sebelumnya, nilai saat ini dan nilai sesudahnya, dapat digunakan metoda getPreviousValue, getValue dan getNextValue.

Menggunakan kelas JSpinner di Java

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.