ACTION-LISTENER
Action-Listener

Beschreibung Download
Beispiele, wie man ein Klick-Event mit einem oder mehreren Schalter verbindet Action.zip

Action1.java
Action2.java
Action3.java
Action4.java
Action5.java
Action6.java
Action7.java
Action1.java Button bn = new Button("Klick mich") ;
bn.setOnAction(new MyEventHandler () );

public class MyEventHandler implements EventHandler {
//@ Override
public void handle(Event event) {
System.out.println("Der Schalter wurde angeklickt");
//bn.setText("hallo");
}
}
Action2.java bn = new Button("Klick mich") ;
bn.setOnAction(new MyEventHandler () );

// interne Klasse
class MyEventHandler implements EventHandler {
public void handle(Event event) {
System.out.println("Der Schalter wurde angeklickt");
bn.setText("hallo");
}
}
Action3.java Button bn = new Button("Klick mich") ;
bn.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
label.setText("Der Schalter wurde angeklickt");
}
});
Action4.java Button bn = new Button("Klick mich") ;
bn.setOnAction(e->label.setText("Der Schalter wurde angeklickt"));
Action5.java Button bn = new Button("Klick mich") ;
bn.setOnAction( e->bnClick() );

private void bnClick() {
label.setText("Der Schalter wurde angeklickt");
}
Action6.java
implements EventHandler
public class UIBspAction6 extends Application implements EventHandler{

bn1 = new Button("1. Klick") ;
bn1.setOnAction(this);

bn2 = new Button("2. Klick") ;
bn2.setOnAction(this);

@Override
public void handle(Event e) {
if(e.getSource() == bn1){
label.setText("Der 1. Schalter wurde angeklickt");
}
if(e.getSource() == bn2){
label.setText("Der 2. Schalter wurde angeklickt");
}
}
Action7.java
Lösung à la Swing-Command
public class UIBspAction7 extends Application implements EventHandler{

private final String BN1="Bn1";
private final String BN2="Bn2";

// Button sind nun lokal deklariert
Button bn1 = new Button("1. Klick") ;
bn1.setOnAction(this);
bn1.setId(BN1);



@Override
public void handle(Event e) {
Control control = (Control) e.getSource();
String id = control.getId();
if(id.equals(BN1)){
label.setText("Der 1. Schalter wurde angeklickt");
}
if(id.equals(BN2)){
label.setText("Der 2. Schalter wurde angeklickt");
}
}



Java FX
Alignment-Snippet