Program Java menggunakan kelas JSlider
Program Java Menggunakan Kelas JSlider
Di artikel Mengenal Kelas JSlider Di Pemrograman Java, Anda diperkenalkan pada kelas JSlider. Di artikel kali ini, Anda diberikan contoh program Java tentang menggunakan kelas JSlider. Program akan membuat empat obyek kelas JSlider. Obyek slider pertama digunakan untuk pengatur ukuran teks obyek label. Tiga obyek slider berikutnya digunakan untuk mengatur warna teks obyek label.

Warna teks tersusun atas warna merah (red), hijau (green) dan biru (blue) atau lebih dikenal dengan RGB. Anda dapat menggunakan knob yang terdapat di obyek slider untuk menentukan ukuran dan warna teks.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
// Nama kelas : DemoJSlider.java
// Mendemonstrasikan penggunaan kelas JSlider

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

// Deklarasi kelas
public class DemoJSlider extends JFrame {

   JLabel label = new JLabel("Belajar Java", JLabel.CENTER);
   JSlider sldSize = new JSlider(SwingConstants.VERTICAL, 10, 50, 35);
   JSlider sldRed = new JSlider(0, 250, 0);
   JSlider sldGreen = new JSlider(0, 250, 0);
   JSlider sldBlue = new JSlider(0, 250, 0);
   int sizeValue, redValue, greenValue, blueValue;

   // Konstruktor DemoJSlider
   public DemoJSlider() {

      sizeValue = sldSize.getValue();
      redValue = sldRed.getValue();
      greenValue = sldGreen.getValue();
      blueValue = sldBlue.getValue();

      // Mengatur ukuran dan warna sesuai nilai obyek slider awal
      label.setFont(new Font("Tahoma", Font.PLAIN + Font.BOLD, sizeValue));
      label.setForeground(new Color(redValue, greenValue, blueValue));

      // Mengatur obyek sldSize (JSlider)
      Hashtable<Integer, JLabel> tbl1 = new Hashtable<Integer, JLabel> ();
      tbl1.put(10, new JLabel("10"));
      tbl1.put(20, new JLabel("20"));
      tbl1.put(30, new JLabel("30"));
      tbl1.put(40, new JLabel("40"));
      tbl1.put(50, new JLabel("50"));

      sldSize.setPaintLabels(true);
      sldSize.setLabelTable(tbl1);
      sldSize.setMinorTickSpacing(5);
      sldSize.setMajorTickSpacing(10);
      sldSize.setPaintTicks(true);
      sldSize.setBorder(new TitledBorder("Size"));

      JPanel panelLabel = new JPanel();
      panelLabel.setLayout(new BorderLayout());
      panelLabel.add(label, BorderLayout.CENTER);
      panelLabel.add(sldSize, BorderLayout.LINE_END);
      
      // Mengatur obyek sldRed, sldGreen dan sldBlue (JSlider)
      Hashtable<Integer, JLabel> tbl2 = new Hashtable<Integer, JLabel> ();
      tbl2.put(0, new JLabel("0"));
      tbl2.put(50, new JLabel("50"));
      tbl2.put(100, new JLabel("100"));
      tbl2.put(150, new JLabel("150"));
      tbl2.put(200, new JLabel("200"));
      tbl2.put(250, new JLabel("250"));

      sldRed.setPaintLabels(true);
      sldRed.setLabelTable(tbl2);
      sldRed.setMinorTickSpacing(10);
      sldRed.setMajorTickSpacing(50);
      sldRed.setPaintTicks(true);  

      sldGreen.setPaintLabels(true);
      sldGreen.setLabelTable(tbl2);
      sldGreen.setMinorTickSpacing(10);
      sldGreen.setMajorTickSpacing(50);
      sldGreen.setPaintTicks(true);    

      sldBlue.setPaintLabels(true);
      sldBlue.setLabelTable(tbl2);
      sldBlue.setMinorTickSpacing(10);
      sldBlue.setMajorTickSpacing(50);
      sldBlue.setPaintTicks(true);  

      JPanel panelSliderRGB = new JPanel();
      panelSliderRGB.setLayout(new GridLayout(3, 1, 2, 1)); 
      panelSliderRGB.add(sldRed);
      panelSliderRGB.add(sldGreen);
      panelSliderRGB.add(sldBlue);

      JPanel panelLabelRGB = new JPanel();
      panelLabelRGB.setLayout(new GridLayout(3, 1, 2, 1));
      panelLabelRGB.add(new JLabel("RED"));
      panelLabelRGB.add(new JLabel("GREEN"));
      panelLabelRGB.add(new JLabel("BLUE"));

      JPanel panelRGB = new JPanel();
      panelRGB.setLayout(new BorderLayout(3, 3));
      panelRGB.add(panelLabelRGB, BorderLayout.LINE_START);
      panelRGB.add(panelSliderRGB, BorderLayout.CENTER);
      panelRGB.setBorder(new TitledBorder("RGB Color"));

      getContentPane().setLayout(new BorderLayout(0, 1));
      getContentPane().add(panelLabel, BorderLayout.CENTER);
      getContentPane().add(panelRGB, BorderLayout.PAGE_END);

      // Penanganan event pada obyek slider
      sldSize.addChangeListener(
         new ChangeListener() {
            public void stateChanged(ChangeEvent ce) {
               sizeValue = sldSize.getValue();
               label.setFont(new Font("Tahoma", Font.PLAIN + Font.BOLD, sizeValue));
            }
         }
      );

      sldRed.addChangeListener(
         new ChangeListener() {
            public void stateChanged(ChangeEvent ce) {
               redValue = sldRed.getValue();
               label.setForeground(new Color(redValue, greenValue, blueValue));
            }
         }
      );                     
          
      sldGreen.addChangeListener(
         new ChangeListener() {
            public void stateChanged(ChangeEvent ce) {
               greenValue = sldGreen.getValue();
               label.setForeground(new Color(redValue, greenValue, blueValue));
            }
         }
      ); 

      sldBlue.addChangeListener(
         new ChangeListener() {
            public void stateChanged(ChangeEvent ce) {
               blueValue = sldBlue.getValue();
               label.setForeground(new Color(redValue, greenValue, blueValue));
            }
         }
      ); 
   }

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

Menggunakan kelas JSlider di bahasa pemrograman Java

Baris nomor 103 – 110 adalah pernyataan yang dieksekusi ketika nilai obyek slider vertikal (sldSize) diubah melalui penggeseran knob. Event obyek ini digunakan untuk mengubah ukuran teks dengan rentang nilai antara 10 – 50. Saat knob digeser, ukuran teks akan langsung berubah untuk menyesuaikan nilai obyek sldSize saat ini.

Untuk mengubah warna teks, Anda menggunakan tiga obyek slider horisantal yang dikelompokkan di titled border RGB Color. Anda dapat mengubah warna teks dengan menggeser knob dari obyek slider tersebut (sldRed, sldGreen dan sldBlue). Setiap obyek slider mempunyai rentang nilai 0 – 250 (rentang nilai warna RGB adalah 0 – 255). Warna teks adalah kombinasi dari tiga warna red, green dan blue.

SILAHKAN BAGIKAN ARTIKEL INI!
Pin It