© 1999-2003, Flemming Koch Jensen
Alle rettigheder forbeholdt
JCheckBox

 

 

Figur 1:
JCheckBox's placering i klasse-hierarkiet
  Betragt følgende vindue:
Figur 2:
To JCheckBox'es i et vindue
 

Idéen med en JCheckBox er at lave en knap, der har en on/off tilstand. On-tilstanden vises med et flueben i en firkant, mens off-tilstanden illustreres med en tom firkant. JCheckBox'en husker denne tilstand, og når den ændres sender den en ItemEvent til alle ItemListener's.

  Dette vindue laves med følgende program:
Source 1:
To JCheckBox'es i en frame
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class CheckBoxFrame extends JFrame implements ItemListener {
  
  private JCheckBox box1, box2;
  
  public CheckBoxFrame( String titel ) {
    super( titel );
    
    getContentPane().setLayout( new FlowLayout() );
    
    box1 = new JCheckBox( "CheckBox nr.1", true );
    box1.addItemListener( this );
    getContentPane().add( box1 );
    
    box2 = new JCheckBox( "CheckBox nr.2" );
    box2.addItemListener( this );
    getContentPane().add( box2 );
    
    setDefaultCloseOperation( EXIT_ON_CLOSE );
    
    pack();
    setVisible( true );
  }

  public void itemStateChanged( ItemEvent e ) {
    Object source = e.getSource();
  
    if ( source == box1 )
      System.out.println( "Box 1: " + box1.isSelected() );
    else if ( source == box2 )
      System.out.println( "Box 2: " + box2.isSelected() );
  }
}
  Bemærk, at man initielt kan sætte start-tilstanden for en JCheckBox ved at anvende en konstruktor med en ekstra boolsk parameter, der angiver start-tilstanden.
   
Prøv:
Kør eksemplet - og slå nogle af knapperne til og fra!
   
  Vedrørende konstruktorerne i øvrigt, henvises til kapitlet om JRadioButton, da JCheckBox har de samme konstruktorer som JRadioButton. Disse giver mulighed for, at en JCheckBox kan består af en tekst eller et icon, eller begge dele.