2016-05-12 91 views
-1

我遇到了問題,當我點擊按鈕時它不工作。 實際上現在我只是要求按鈕執行system.out.println()只是爲了測試。按鈕的名稱是btndetailUserjavafx button.onclick()不起作用

listRechercheUser.setCellFactory(new Callback<ListView<User>, ListCell<User>>() { 
     @Override 
     public ListCell<User> call(ListView<User> p) { 
      ListCell<User> cell; 
      cell = new ListCell<User>() { 

       @Override 
       protected void updateItem(User user, boolean bln) { 
        super.updateItem(user, bln); 
        if (user != null) { 
         ImageView img; 
         String mm=user.getPath().trim(); 
         if (mm.equals("fusee.png")){ 
         img = new ImageView(new Image("mto/cr/images/"+mm));} 
         else{ 
         img = new ImageView(new Image("mto/cr/images/mains-fonds.png")); 

         } 
         VBox vb = new VBox(10); 
         HBox hb = new HBox(20); 
         VBox vb1 = new VBox(20); 
         VBox vb3= new VBox(20); 
         vb1.getChildren().add(new Label("    ")); 
         hb.setStyle("-fx-border-color: #C8C8C8 ;"); 
         vb.setAlignment(Pos.CENTER); 
         VBox vb2 = new VBox(30); 
         vb.setAlignment(Pos.CENTER); 
         vb2.setAlignment(Pos.BASELINE_LEFT); 
         vb3.setAlignment(Pos.CENTER_RIGHT); 
         Label id = new Label(user.getId()+"id firas:"); 
         Label username = new Label(user.getUsername()+" username firas:"); 
         Label nom = new Label(user.getNom()+"nom firas:"); 
         Label prenom = new Label(user.getPrenom()+"prenom firas:"); 
         Button btndetailUser = new Button(); 
         btndetailUser.setId("btndetailUser"); 
         btndetailUser.setText("btndetailUser "+user.getId()); 
         Image imageAccesProjet = new Image("mto/cr/images/enter.png"); 
         ImageView enterIV= new ImageView(imageAccesProjet); 
         enterIV.setFitHeight(10); 
         enterIV.setFitWidth(10); 
          btndetailUser.setGraphic(enterIV); 
          btndetailUser.getStyleClass().add("buttonLogin"); 

         System.out.println(btndetailUser.getText()); 
          btndetailUser.setOnMouseClicked(
            (MouseEvent event2) -> 
                   System.out.println("firas")); 
          btndetailUser.setOnAction(new EventHandler<ActionEvent>() { 
          @Override 
          public void handle(ActionEvent event) { 
           System.out.println(".handle()"); 
          } 
         }); 


         vb.getChildren().addAll(new Label(" "), img, new Label(" "),username); 
         vb2.getChildren().addAll(nom, prenom); 
         vb3.getChildren().addAll(btndetailUser); 
         hb.getChildren().addAll(vb1, vb, vb2,vb3); 

         setGraphic(hb); 
        } 
       } 
      }; 
      return cell; 
     } 
    }); 

回答

1

嘗試類似,

btndetailUser.setOnAction(e -> { 
    System.out.println("freetext") 
}); 
+0

我已經嘗試此解決方案,但沒有結果 –

+0

,你把你的代碼中有什麼辦法它?真的,按鈕點擊應該在你的'開始'方法,所以確保它被代碼讀取? – leemo