Работа с 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д