Задать цвет кнопки - 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");
        });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5