Een check box (selectievakje) is een GUI-component die aan een frame wordt toegevoegd, net zoals een knop. Wanneer de gebruiker een check box aanvinkt, wordt er een event gecreëerd en afgehandeld met behulp van de itemStateChanged-methode.
Belangrijke eigenschappen van een Check Box
name: naam van de check box
text: opschrift van de check box
selected: om de check box bij het opstarten van het formulier te selecteren (Verschillende check boxen kunnen probleemloos tegelijk geselecteerd zijn!)
Belangrijke methodes van een check box
public boolean isSelected(): retourneert true als de check box geselecteerd is
public void itemStateChanged(ItemEvent event): reageert op het (de)selecteren van de check box
Voorbeeld 3
import java.awt.Color;
public class Voorbeeld3 extends javax.swing.JFrame {
//We maken gebruik van globale variabelen, zodat de waaarden van rood, groen en
//blauw voor elk van de 4 subroutines gekend zijn.
int waardeRood = 0;
int waardeGroen = 0;
int waardeBlauw = 0;
public Voorbeeld3() {
initComponents();
Color mijnKleur = new Color (waardeRood, waardeGroen, waardeBlauw);
pnlKleur.setBackground(mijnKleur);
}
....
private void chkGroenActionPerformed(java.awt.event.ActionEvent evt) {
waardeGroen = 0;
if (chkGroen.isSelected())
waardeGroen = 255;
Color mijnKleur = new Color (waardeRood, waardeGroen, waardeBlauw);
pnlKleur.setBackground(mijnKleur);
}
private void chkRoodActionPerformed(java.awt.event.ActionEvent evt) {
waardeRood = 0;
if (chkRood.isSelected())
waardeRood = 255;
Color mijnKleur = new Color (waardeRood, waardeGroen, waardeBlauw);
pnlKleur.setBackground(mijnKleur);
}
private void chkBlauwActionPerformed(java.awt.event.ActionEvent evt) {
waardeBlauw = 0;
if (chkBlauw.isSelected())
waardeBlauw = 255;
Color mijnKleur = new Color (waardeRood, waardeGroen, waardeBlauw);
pnlKleur.setBackground(mijnKleur);
}
Voorbeeld 4
private void btnBerekenActionPerformed(java.awt.event.ActionEvent evt) {
final double PRIJS_PER_KOPIE_ZWART_WIT = 0.04;
final double PRIJS_PER_KOPIE_KLEUR = 0.15;
final double PRIJS_INBINDEN = 5;
int aantalKopies = Integer.parseInt(txtAantalKopies.getText());
double resultaat = aantalKopies * PRIJS_PER_KOPIE_ZWART_WIT;
if (rdbKleur.isSelected()) {
resultaat = aantalKopies * PRIJS_PER_KOPIE_KLEUR;
}
if (chkInbinden.isSelected()) {
resultaat = resultaat + PRIJS_INBINDEN;
}
txtResultaat.setText(String.valueOf(resultaat));
}