zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Der Listener muss die Aktionen der Buttons koordinieren. Wir kopieren dieses Programm und führen es aus. Es ist die Grundlage für viele der Programmieraufgaben in diesem Kapitel.

Fertige actionPerformed() Methode

Hier ist das komplettte Programm:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ZweiButtons extends JFrame implements ActionListener
{
  JButton rotButton ;
  JButton gruenButton ;

  // Konstruktor für ZweiButtons
  public ZweiButtons(String title)
  {
    super( title );

    rotButton = new JButton("Rot");
    gruenButton = new JButton("Grün");
    rotButton.setActionCommand( "rot" );   // Befehl setzen
    gruenButton.setActionCommand( "gruen" ); // Befehl setzen

    // den Frame als Listener
    // für beide Buttons registrieren
    rotButton.addActionListener( this );
    gruenButton.addActionListener( this );

    setLayout( new FlowLayout() );
    add( rotButton );
    add( gruenButton );

    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  }

  public void actionPerformed( ActionEvent evt)
  {
    // überprüfen, welcher Befehlsstring gesendet wurde
    if ( evt.getActionCommand().equals( "rot" ) )
      getContentPane().setBackground(  Color.red  ) ;
    else
      getContentPane().setBackground( Color.green ) ;

    repaint();
  }

  public static void main ( String[] args )
  {
    ZweiButtons demo  = new ZweiButtons( "Klicken Sie auf einen Button" ) ;

    demo.setSize( 200, 150 );
    demo.setVisible( true );
  }
}

FRAGE 13:

Wir stellen uns vor, dass wir anstelle der Beschriftung lieber ein Icon auf den Buttons haben möchten. Wird das für actionPerformed() ein Problem verursachen?

zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite