Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_fx:idozites

< Java FX

JavaFX - Időzítés

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