Search code examples
javabuttonjavafxfxml

How can i do to disable button itself?


I have a Button and i like it sets disable itself with b_generer.setDisable(true); , how can i do it ? when i try to do this in

@FXML private Button b_generer;
...
public void initialize(){
...
b_generer.setOnAction(new EventHandler<ActionEvent>() {

                @Override
                public void handle(ActionEvent event) {
                    chemin = new ArrayList<Line>();
                    minKm = new ArrayList<Text>();
                    {...}
                                p1 = new Point2D(listeTown.get(i1).getCenterX(),listeTown.get(i1).getCenterY());
                                p2 = new Point2D(listeTown.get(i2).getCenterX(),listeTown.get(i2).getCenterY());
                                l = new Line(p1.getX(),p1.getY(),p2.getX(),p2.getY());
                                // Donner une couleur differente de la couleur des route les plus courtes
                                l.setStroke(Color.BLACK);
                                chemin.add(l);
                                // Ajouter texte km à la route
                                Text te = new Text(L[1]);
                                Point2D pt = getSegmentCenter( p1,  p2);
                                double x = pt.getX();
                                double y = pt.getY()-10;
                                te.setX(x);
                                te.setY(y);
                                for(Text m : minKm) {
                                    if ((te.getX() == m.getX()) && (te.getY() == m.getY()))
                                    {
                                        te.relocate(te.getX() ,te.getY() - 10 );
                                        m.relocate(m.getX() - 15, m.getY() + 10);
                                    }
                                }
                                te.setFill(Color.RED);
                                minKm.add(te);
                                mapArea.getChildren().addAll(l,te);
                            }
                        }



                    }
                    catch(Exception e)
                    {
                            System.out.println("Erreur de lecture");
                    }
                }
                //ERROR
                //b_generer.setDisable(true);
            });
}

it doesn't work... and when i try to do this in a function

@FXML
public void generer(ActionEvent event){
b_generer.setDisable(true);
}

with generer in sceneBuilder onAction, doesnt work too..


Solution

  • i've resolved the problem, in the function handle, i have a try{} and i put b_generer.setDisable(true); there