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.*;