java写时钟
时间: 2023-10-14 22:14:31 浏览: 41
Java 写时钟可以使用 JavaFX 库中的 `Timeline` 和 `LocalTime` 类。
以下是一个简单的例子:
```java
import javafx.animation.Animation;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.util.Duration;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Clock extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Text text = new Text();
text.setFont(Font.font(50));
StackPane root = new StackPane(text);
Scene scene = new Scene(root, 200, 100);
Timeline timeline = new Timeline(
new KeyFrame(Duration.seconds(1), event -> {
LocalTime now = LocalTime.now();
String time = now.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
text.setText(time);
})
);
timeline.setCycleCount(Animation.INDEFINITE);
timeline.play();
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
上述代码中,我们创建了一个 `Text` 控件来显示时间,使用 `Timeline` 定时器每秒钟更新一次时间,并将其格式化为 `HH:mm:ss` 的字符串形式。最后,我们将该控件添加到一个 `StackPane` 布局中,并显示在窗口中。
运行代码后,您将看到一个简单的时钟窗口。