CheckBox |
In dit voorbeeld wordt een checkbox gebruikt om de letterstijl te veranderen
// AwtCheckbox.java
// Maak Checkbox buttons.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class AwtCheckbox extends Applet implements ItemListener {
private Font font = new Font( "TimesRoman", Font.PLAIN, 18 );
private TextField tekstField = new TextField( "Hallo, allemaal", 25 );
private Checkbox checkVet, checkCursief;
public void init() {
checkVet = new Checkbox( "vet" );
checkCursief = new Checkbox();
checkCursief.setLabel( "cursief" ); // checkbox tekst
tekstField.setFont( font );
add( tekstField );
add( checkVet ); // standaard unchecked (false)
add( checkCursief );
// aanmelden bij de ItemListener; wordt door gegeven aan itemStateChanged
checkVet.addItemListener(this);
checkCursief.addItemListener(this);
}
public void itemStateChanged( ItemEvent e ) {
int vet, cursief;
// filter Checkbox events
if ( e.getSource() instanceof Checkbox ) {
// test toestand van checkVet
if ( checkVet.getState() == true )
vet = Font.BOLD;
else
vet = Font.PLAIN;
// test toestand van checkCursief
if ( checkCursief.getState() == true )
cursief = Font.ITALIC;
else
cursief = Font.PLAIN;
// wijzig het lettertype
font = new Font( "TimesRoman", vet + cursief, 18 );
tekstField.setFont( font );
}
}
}
|
Een CheckBox genereert een ItemEvent die in een ItemListener wordt opgevangen in de itemStateChanged methode.
checkVet = new Checkbox( "vet" ); checkCursief = new Checkbox(); checkCursief.setLabel( "cursief" );Het textField krijgt een iets groter lettertype om het beter zichtbaar te maken
tekstField.setFont( font );de componenten worden aangemeld bij de LayoutManager.
add( tekstField ); add( checkVet ); add( checkCursief );Tenslotte worden beide Checkboxen aangemeld bij de ItemListener die de gegeneerde ItemEvent zal doorsluizen naar de itemStateChanged methode.
checkVet.addItemListener(this); checkCursief.addItemListener(this);
public void itemStateChanged( ItemEvent e ) {
int vet, cursief;
// filter Checkbox events
if ( e.getSource() instanceof Checkbox ) {
// test toestand van checkVet
if ( checkVet.getState() == true )
vet = Font.BOLD;
else
vet = Font.PLAIN;
// test toestand van checkCursief
if ( checkCursief.getState() == true )
cursief = Font.ITALIC;
else
cursief = Font.PLAIN;
// wijzig het lettertype
font = new Font( "TimesRoman", vet + cursief, 18 );
tekstField.setFont( font );
}
}
| public class Checkbox | extends Component |
| public Checkbox();
public Checkbox(String label); public Checkbox(String label, CheckboxGroup group, boolean state); |
constructors |
| public CheckboxGroup getCheckboxGroup(); | haal de groep |
| public void setCheckboxGroup(CheckboxGroup g); | stel de groep in |
| public String getLabel(); | haal de tekst |
| public void setLabel(String label); | stel de tekst in |
| public boolean getState(); | haal de status |
| public void setState(boolean state); | stel de status in |