//fxml

 <TableColumn text="Image"  prefWidth="100">
                        <cellValueFactory>
                            <PropertyValueFactory property="image" />
                        </cellValueFactory>
                            <cellFactory>
                            </cellFactory>
                    </TableColumn>
                    
//controller
 @FXML
    private void handleButtonActionSearch(ActionEvent event) {
    
    image.setCellFactory(new 
        Callback<TableColumn<BoardThread,BoardThread>,TableCell<BoardThread,BoardThread>>(){ 

        @Override
        public TableCell<BoardThread, BoardThread> call(TableColumn<BoardThread, BoardThread> p) {
            
            TableCell<BoardThread, BoardThread> cell = new TableCell<BoardThread, BoardThread>(){
            
            @Override
            public void updateItem(BoardThread item, boolean empty) {                        
                if(item!=null){                            
                    HBox box= new HBox();
                    box.setSpacing(10) ;
                    ImageView imageview = new ImageView();
                    imageview.setFitHeight(50);
                    imageview.setFitWidth(50);
                    imageview.setImage(new Image("img/" + item.getImage())); 

                    box.getChildren().addAll(imageview); 
                    //SETTING ALL THE GRAPHICS COMPONENT FOR CELL
                    setGraphic(box);
                }
            }
            };

            return cell;
        }
});
//model

public class BoardThread {
    
   private final SimpleStringProperty image = new SimpleStringProperty("");
   
   
public BoardThread() {
        this("");
    }
 
    public BoardThread(String image) {

        setImage(image);

    }


    /* setting images */
    
    public String getImage() {
        return image.get();
    }

    public void setImage(String ffavoriteImage) {
        this.image.set(ffavoriteImage);
    }
      
}


