Membuat GUI dengan Java Swing Part 7 (JCheckBox)



JCheckBox merupakan kotak kecil yang bisa kita centang.Beberapa checkbox bisa kita centang secara bersamaan tidak seperti RadioButton yang hanya satu saja yang bisa dipilih.Untuk JRadioButton akan kita bahas di part selanjutnya



Konstruktor Untuk JCheckBox


Konstruktor Deskripsi
JCheckBox() membuat jcheckbox tanpa teks dan awalnya tidak dipilih
JCheckBox(String s) jcheckbox dengan teks dan awalnya tidak dipilih
JCheckBox(String teks,boolean dipilih) jcheckbox dengan teks dan awalnya dipilih

Contoh Kode Membuat JCheckBox

package mainclass;
import javax.swing.*;

class Contoh {
public static void main (String[]args) {
JFrame frame = new JFrame("Contoh CheckBox");
JCheckBox cb1 = new JCheckBox("Merah");
JCheckBox cb2 = new JCheckBox("Biru",true);//memulai dengan biru dicentang
cb1.setBounds(50, 50, 70, 30);
cb2.setBounds(50, 100, 70, 30);
frame.setSize(300,300);
frame.setVisible(true);
frame.setLayout(null);
frame.add(cb1);
frame.add(cb2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
}
}
Hasil output aplikasi dari kode di atas :

membuat jcheckbox java swing

Implementasi JCheckBox dengan ItemListener

Melanjutkan kode di atas, kita akan menambahkan satu label lagi untuk menunjukkan checkbox mana yang baru saja kita check/uncheck

package mainclass;
import javax.swing.*;
import java.awt.event.*;
class Contoh {
public static void main (String[]args) {
JFrame frame = new JFrame("Contoh CheckBox");
JCheckBox cb1 = new JCheckBox("Merah");
JCheckBox cb2 = new JCheckBox("Biru");
JLabel l1 = new JLabel("Teks");
cb1.setBounds(50, 50, 70, 30);
cb2.setBounds(50, 100, 70, 30);
l1.setBounds(50,150,150,30);
cb1.addItemListener(new ItemListener(){
    public void itemStateChanged(ItemEvent e){
        l1.setText("Merah"+" "+ (e.getStateChange()==1 ?"dicentang":"tidak dicentang"));
    }//apakah merah dicentang atau tidak
});
cb2.addItemListener(new ItemListener(){
    public void itemStateChanged(ItemEvent e){
        l1.setText("Biru"+" "+(e.getStateChange()==1 ?"dicentang":"tidak dicentang"));
    }//apakah biru dicentang atau tidak
});
frame.setSize(300,300);
frame.setVisible(true);
frame.setLayout(null);
frame.add(cb1);
frame.add(cb2);
frame.add(l1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
}
}
Hasil output kode di atas 

tes aplikasi dengan checkbox java

tes aplikasi dengan checkbox 1

Yang selanjutnya adalah kita akan mencoba program total harga menggunakan JCheckBox.Nanti kita akan menggunakan perantara 1 Button untuk eksekusi dan 1 label untuk menampilkan total harga


package mainclass;
import javax.swing.*;
import java.awt.event.*;
class Contoh {
public static void main (String[]args) {
JFrame frame = new JFrame("Contoh CheckBox");
JCheckBox cb1 = new JCheckBox("Buku@20k");
JCheckBox cb2 = new JCheckBox("Pensil@3k");
JCheckBox cb3 = new JCheckBox("Penghapus@1k");
JLabel l1 = new JLabel("Teks");
JButton b1 = new JButton("Hitung");
cb1.setBounds(50, 50, 150, 30);
cb2.setBounds(50, 100, 150, 30);
cb3.setBounds(50, 150, 150, 30);
l1.setBounds(50,200,150,30);
b1.setBounds(70, 250, 70, 40);
b1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        int jumlah = 0;
        if(cb1.isSelected()){//buku dipilih atau tidak
            jumlah += 20;
        }
        if(cb2.isSelected()){//pensil dipilih atau tidak
            jumlah += 3;
        }
        if(cb3.isSelected()){//penghapus dipilih atau tidak
            jumlah += 1;
        }
        l1.setText("Total harga "+Integer.toString(jumlah)+"k");
    }
});
frame.setSize(300,350);
frame.setVisible(true);
frame.setLayout(null);
frame.add(cb1);
frame.add(cb2);
frame.add(cb3);
frame.add(l1);
frame.add(b1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
}
}
Aplikasi dari kode di atas

aplikasi total harga dengan checkbox java

tes aplikasi total harga dengan checkbox java

Mungkin itu saja tentang JCheckBox sekian dari saya dan semoga bermanfaat...

Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)
EmoticonEmoticon