Button |
Een voorbeeld met drukknoppen
// AwtButton.java
// Maak een aantal drukknoppen
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
public class AwtButton extends Applet implements ActionListener {
private Button toggleButton, levendeButton;
public void init() {
levendeButton = new Button( "Klik mij" );
toggleButton = new Button( "toggle" );
// voeg buttons toe aan de LayoutManager
add( levendeButton );
add( toggleButton );
// meld de buttons aan bij de ActionListener (this)
levendeButton.addActionListener(this);
toggleButton.addActionListener(this);
}
// afhandeling van de events
public void actionPerformed( ActionEvent e ) {
// controleer of het een Button was
if ( e.getSource() instanceof Button ) {
// Als het levendeButton dan label op de statusbalk
if ( e.getSource() == levendeButton )
showStatus( "Knop " + e.getActionCommand() + " was ingedrukt" );
// als toggleButton dan wordt levendeButton geenabled
else if (e.getSource() == toggleButton) {
if (levendeButton.isEnabled() )
levendeButton.setEnabled(false);
else
levendeButton.setEnabled(true);
}
}
}
}
|
Een Button klasse is een drukknop met een tekst. Het formaat van de knop wordt ingesteld aan de hand van de lengte van de tekst. De knop is dus gedrapeerd rondom de tekst. Dit geeft soms een rommelige layout omdat er verschillende knoppen met verschillende grootte onder elkaar staan. De Button heeft een constructor, die de tekst kan meekrijgen. En er zijn de methode getLabel en setLabel om de tekst te lezen en te schrijven.
Het indrukken van een knop genereert een ActionEvent, die ergens in actionPerformed methode van een ActionListener wordt opgevangen.
methode actionPerformed
In de actionPerformed methode worden de volgende
stappen onderzocht
public void actionPerformed( ActionEvent e ) {
if ( e.getSource() instanceof Button ) {
if ( e.getSource() == levendeButton )
showStatus( "Knop " + e.getActionCommand() + " was ingedrukt" );
else if (e.getSource() == toggleButton) {
if (levendeButton.isEnabled() )
levendeButton.setEnabled(false);
else
levendeButton.setEnabled(true);
}
}
}
| public Button(); | constructors |
| public Button(String label); | |
| public String getLabel(); | haal de knoptekst |
| public void setLabel(String label); | stel de knop tekst in |
| setEnabled(boolean enable) | de knop is actief of inactief |