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"); } } |