2017-09-23 1 views
0

J'essaie d'afficher 9 boutons en utilisant javafx.Comment créer un nouveau bouton Objets en utilisant une boucle for et l'afficher en utilisant javafx

public class Main extends Application 
{ 
    public void start(Stage primaryStage) throws Exception 
    { 

     Button[] button = new Button[10]; 
     Pane pane = new Pane(); 

     for(int i=0; i < 9; i++) 
     { 
      button[i].setText("hi"); 
      button[i].setText("hi"); 
      button[i].setLayoutX(i*10); 

      System.out.println(button[i].getText()); 
      pane.getChildren().addAll(button[i]);     
     } 

     Scene scene = new Scene(pane); 
     primaryStage.setScene(scene); 
     primaryStage.show();  


} 
+1

Comment les boutons doivent-ils être orientés? Qu'est-ce que le bouton devrait dire sur eux, pouvez-vous nous donner plus de détails, s'il vous plaît? –

Répondre

2

Vous créez un array capable de stocker l'élément Button, mais vous ne créer le Button se

donc vous devez faire:

for(int i=0; i < 9; i++){ 
    button[i] = new Button();  // <-- here 
    button[i].setText("hi");  // you have twice this line 
    button[i].setLayoutX(i*10); 

    System.out.println(button[i].getText()); 
    pane.getChildren().addAll(button[i]);     
} 

En outre, si d'autres part vous n'avez pas besoin de récupérer le button plus tard, vous n'avez pas besoin de les stocker et d'utiliser un array, cela fonctionnera:

for(int i=0; i < 9; i++){ 
    Button btn = new Button();  // <-- here 
    btn.setText("hi"); 
    btn.setLayoutX(i*10); 

    System.out.println(btn.getText()); 
    pane.getChildren().addAll(btn);     
}