oktatas:programozas:java:java_fx:idozites
Tartalomjegyzék
JavaFX - Időzítés
- Szerző: Sallai András
- Copyright © 2025, Sallai András
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Másodpercenként
- src/java/com/example/MainController.java
package com.example; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.util.Duration; public class MainController { @FXML void onClickStartButton(ActionEvent event) { KeyFrame kf = new KeyFrame(Duration.seconds(1), e -> { System.out.println("idő van"); }); Timeline tm = new Timeline(); tm.getKeyFrames().add(kf); tm.setCycleCount(Timeline.INDEFINITE); tm.play(); } }
Megadható hányszor egész számként vagy végtelenszer:
tm.setCycleCount(Timeline.INDEFINITE);
Téglalap mozgatása
- src/main/java/com/example/MainController.java
package com.example; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; import javafx.animation.Timeline; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; public class MainController { @FXML private Pane panel; Rectangle rec = new Rectangle(0, 0, 100, 100); KeyValue xValue = new KeyValue(rec.xProperty(), 200); KeyValue yValue = new KeyValue(rec.yProperty(), 200); KeyFrame frame = new KeyFrame(javafx.util.Duration.millis(1000), xValue, yValue); @FXML void initialize() { rec.setFill(Color.BLUE); } @FXML void onClickStartButton(ActionEvent event) { System.out.println("indul..."); panel.getChildren().add(rec); Timeline line = new Timeline(); line.getKeyFrames().add(frame); line.setCycleCount(3); line.setAutoReverse(true); line.play(); } }
oktatas/programozas/java/java_fx/idozites.txt · Utolsó módosítás: 2025/03/05 16:55 szerkesztette: admin