Java - JCheckBox


Klasa JCheckBox se koristi za kreiranje polja za potvrdu. Koristi se za uključivanje opcije (true) ili isključenje (false). Klikom na CheckBox mijenja se njegovo stanje iz "uključeno" u "isključeno" ili iz "isključeno" u "uključeno". On nasljeđuje JToggleButton klasa. Pogledajmo deklaraciju za klasu javax.swing.JCheckBox:

public class JCheckBox extends JToggleButton implements Accessible  


Najčešće korišteni konstruktori

Konstruktor Opis
JJCheckBox() Kreira inicijalno odabrano dugme za potvrdu bez teksta, bez ikone.
JChechBox(String s) Kreira inicijalno odabran okvir za potvrdu s tekstom.
JCheckBox(String text, boolean selected) Kreira potvrdni okvir s tekstom i određuje da li je prvobitno odabran ili ne.
JCheckBox(Action a) Kreira potvrdni okvir u kojem se svojstva preuzimaju iz dostavljene akcije.


Najčešće korištene metode

Metoda Opis
AccessibleContext getAccessibleContext() Koristi se za dobijanje AccessibleContexta povezanog sa ovim JCheckBoxom.
protected String paramString() Vraća string prikaz ovog JCheckBoxa.


Primjer Java JCheckBox

import javax.swing.*;  
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class Main  
{  
     Main(){  
        JFrame f= new JFrame("Primjer CheckBox-a");  
        
        JCheckBox checkBox1 = new JCheckBox("C++");  
        checkBox1.setBounds(100,100, 150,50);  
        
        JCheckBox checkBox2 = new JCheckBox("Java", true);  
        checkBox2.setBounds(100,150, 150,50);  
        
        f.add(checkBox1);  
        f.add(checkBox2);  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);  
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
     }  
    public static void main(String args[])  
    {  
        new Main();  
    }
}

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java JCheckBox sa ItemListener

import javax.swing.*;  
import java.awt.event.*;    
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class Main    
{    
     Main(){    
        JFrame f= new JFrame("Primjer CheckBox-a");    
        final JLabel label = new JLabel();       
        
        label.setHorizontalAlignment(JLabel.CENTER);    
        label.setSize(400,100);    
        
        JCheckBox checkbox1 = new JCheckBox("C++");    
        checkbox1.setBounds(150,100, 150,50);    
        
        JCheckBox checkbox2 = new JCheckBox("Java");    
        checkbox2.setBounds(150,150, 150,50);    
        
        f.add(checkbox1); f.add(checkbox2); f.add(label);    
        checkbox1.addItemListener(new ItemListener() {    
             public void itemStateChanged(ItemEvent e) {                 
                label.setText("C++ Potvrđen: "     
                + (e.getStateChange()==1?"potvrđeno":"nepotvrđeno"));    
             }    
          });    
        checkbox2.addItemListener(new ItemListener() {    
             public void itemStateChanged(ItemEvent e) {                 
                label.setText("Java Potvrđeno: "     
                + (e.getStateChange()==1?"potvrđeno":"nepotvrđeno"));    
             }    
          });    
        f.setSize(400,400);    
        f.setLayout(null);    
        f.setVisible(true);   
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
     }    
    public static void main(String args[])    
    {    
        new Main();    
    }    
}


Primjer Java JCheckBox: Naručivanje hrane

import javax.swing.*;  
import java.awt.event.*;  

public class Main extends JFrame implements ActionListener{  
    JLabel l;  
    JCheckBox cb1,cb2,cb3;  
    JButton b;  
    Main(){  
        l=new JLabel("Sistem za naručivanja hrane");  
        l.setBounds(50,50,300,20);  
        
        cb1=new JCheckBox("Pizza @ 100");  
        cb1.setBounds(100,100,150,20); 
        
        cb2=new JCheckBox("Burger @ 30");  
        cb2.setBounds(100,150,150,20);  
        
        cb3=new JCheckBox("Ćevapi @ 10");  
        cb3.setBounds(100,200,150,20);  
        
        b=new JButton("Naruči");  
        b.setBounds(100,250,80,30);  
        b.addActionListener(this);  
        
        add(l);add(cb1);add(cb2);add(cb3);add(b);  
        setSize(400,400);  
        setLayout(null);  
        setVisible(true);  
        setDefaultCloseOperation(EXIT_ON_CLOSE);  
    }  
    public void actionPerformed(ActionEvent e){  
        float amount=0;  
        String msg="";  
        if(cb1.isSelected()){  
            amount+=100;  
            msg="Pizza: 100\n";  
        }  
        if(cb2.isSelected()){  
            amount+=30;  
            msg+="Burger: 30\n";  
        }  
        if(cb3.isSelected()){  
            amount+=10;  
            msg+="Ćevapi: 10\n";  
        }  
        msg+="-----------------\n";  
        JOptionPane.showMessageDialog(this,msg+"Ukupno: "+amount);  
    }  
    public static void main(String[] args) {  
        new Main();  
    }  
}  

Prikaz koda iz gornjeg primjera izgledaće ovako: