Работа с gui - Java
Формулировка задачи:
есть, допустим, несколько кнопок, я хочу по очереди заменить им цвета, как это сделать, Thread.sleep не принес результата, так как сначала ожидаются все слипы, а потом, все равно, одновременно меняется цвет у всех кнопок
Решение задачи: «Работа с gui»
textual
Листинг программы
- import javafx.application.Application;
- import javafx.application.Platform;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.layout.HBox;
- import javafx.stage.Stage;
- public class Cube extends Application {
- private boolean stop = false;
- private int q = 0;
- @Override
- public void start(Stage primaryStage) throws Exception {
- Button buttons[] = new Button[3];
- for (int i = 0; i < 3; i++) {
- buttons[i] = new Button(String.valueOf(i));
- buttons[i].setPrefSize(100, 100);
- }
- new Thread(() -> {
- while (!stop) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- }
- Platform.runLater(() ->
- buttons[q++].setStyle("-fx-background-color: #" + ((int) (Math.random() * 10)) + ((int) (Math.random() * 10)) + ((int) (Math.random() * 10)))
- );
- if (q >= 3) q = 0;
- }
- }).start();
- primaryStage.setScene(new Scene(new HBox(20, buttons)));
- primaryStage.show();
- }
- @Override
- public void stop() throws Exception {
- stop = true;
- super.stop();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д