Задать цвет кнопки - Java
Формулировка задачи:
В цикле создаётся n-ое количество кнопок.
Необходимо чтобы при нажатии на копку,
она окрашивалась в зелёный цвет.
Так не получилось:
Листинг программы
- package javaapplication32;
- import java.util.ArrayList;
- import java.util.List;
- import javafx.application.Application;
- import javafx.geometry.Insets;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.layout.VBox;
- import javafx.stage.Stage;
- public class JavaApplication32 extends Application {
- private final VBox vbox = new VBox(30);
- private final List<Button> list = new ArrayList<>();
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- launch(args);
- }
- @Override
- public void start(Stage primaryStage) throws Exception {
- vbox.setPadding(new Insets(30));
- createButton();
- addEvents();
- Scene scene = new Scene(vbox, 600, 600);
- primaryStage.setScene(scene);
- primaryStage.show();
- }
- private void createButton() {
- for (int i=0; i<10; i++) {
- Button btn = new Button("Кнопка " + i);
- list.add(btn);
- vbox.getChildren().addAll(btn);
- }
- }
- private void addEvents() {
- for (int i=0; i<list.size(); i++) {
- list.get(i).setOnAction(e -> {
- list.get(i).setStyle("-fx-background-color: green"); // здесь проблема
- });
- }
- }
- }
Решение задачи: «Задать цвет кнопки»
textual
Листинг программы
- btn.setOnMousePressed(e->{
- btn.setStyle("-fx-background-color: green");
- });
- btn.setOnMouseReleased(e->{
- btn.setStyle("-fx-background-color: grey");
- });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д