Button-Beispiel 3 - ActionListener mit Übergabe einer Referenz auf das
Button-Applet
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class EinButtonBeispiel_3 extends Applet {
protected Button bb;
protected String buttonText1 = "Drück mich!";
protected String text1 = "Ola Ola!!!";
protected String text2 = "Wow!!!";
// init() wird automatisch beim Laden des Applets
// aufgerufen
public void init() {
bb = new Button( "Drück mich!" );
ButtonListener bbLis = new ButtonListener( this );
bb.addActionListener( bbLis );
add(bb);
}
public void changeButtonText() {
String tempText = bb.getLabel();
if( tempText.equals( text1 ) ) {
bb.setLabel( text2 );
}
else {
bb.setLabel( text1 );
}
}
}
/**
* ------------------------------------------------------------
* Klassengrenze
* ------------------------------------------------------------
*/
/**
* Gesonderte Klasse ButtonListener - der Klasse wird eine Referenz auf das
* Applet uebergeben in dem sich der betreute Button befindet.
* Damit wird der Zugriff auf Public-Eigenschaften und Public-Methoden
* des Applets moeglich.
*/
class ButtonListener implements ActionListener {
// Referenz auf Master-Applet
private EinButtonBeispiel_3 m;
// Konstruktor
public ButtonListener( EinButtonBeispiel_3 master ) {
m = master;
}
public void actionPerformed( ActionEvent e ) {
m.changeButtonText();
}
} import java.awt.*;