Hallo. Ich versuche mit einer separaten Klasse, die Farbe eines Quadrates zu ändern. Will mir jedoch nicht gelingen. Was mache ich denn falsch?
Code:
public class Farbe {
Pane pane = new Pane();
VBox v = new VBox();
Button blau = new Button("Blau");
Button rot = new Button("Rot");
Label label = new Label("Farbwechsel");
Rectangle rec = new Rectangle(20, 20, 20, 20);
void init() {
blau.setOnAction(new BlaueFarbe());
rot.setOnAction(new RoteFarbe());
v.getChildren().addAll(label, blau, rot, rec);
v.setSpacing(10);
v.setPadding(new Insets(5));
pane.getChildren().addAll(v);
}
public Pane getPane() {
return pane;
}
public Button getBlau() {
return blau;
}
public Button getRot() {
return rot;
}
public Rectangle getRec() {
return rec;
}
}
Code:
public class BlaueFarbe implements EventHandler<ActionEvent> {
private Farbe farbe = new Farbe();
public BlaueFarbe() {
}
@Override
public void handle(ActionEvent e) {
Button button = (Button) e.getSource();
System.out.println("Blau");
farbe.getRec().setFill(Color.BLUE);
}
}