Inserting Hyperlink in JavaFx TableView
<p>I am trying to insert HyperLink with text "Remove" in all rows of a column. Only TabelView row will be inserted when clicked on a button. The hyperlink also get inserted but not for all rows. It automatically get blank cell for previous row if next row data is added. Screenshot:
<a href="https://i.stack.imgur.com/hj82M.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/hj82M.png" alt="enter image description here"></a></p>

<p>The hyperlink listener will be created to remove selected row if clicked on it.</p>

<p>This method is called when user click on a button, here i am creating the link:</p>

<pre><code>public void SalesAdd(ActionEvent actionEvent){


    if(quantity.getText().isEmpty()){
        quantity.setStyle("-fx-border-color: red");
        return;
    }
    String name = comboBox.getSelectionModel().getSelectedItem();
    String batch = batchno.getText();
    String exp = expDate.getText();
    int qty = Integer.parseInt(quantity.getText());
    Double mrp1 = Double.valueOf(mrp.getText());
    Double amt = Double.valueOf(amount.getText());
    Double mrpAmount = mrp1*qty;

    PropertyValueFactory&lt;TableData,String&gt; namePro = new PropertyValueFactory&lt;TableData,String&gt;("name");
    PropertyValueFactory&lt;TableData,Integer&gt; qtyPro = new PropertyValueFactory&lt;TableData,Integer&gt;("qty");
    PropertyValueFactory&lt;TableData,String&gt; expPro = new PropertyValueFactory&lt;TableData,String&gt;("exp");
    PropertyValueFactory&lt;TableData,String&gt; batchPro = new PropertyValueFactory&lt;TableData,String&gt;("batch");
    PropertyValueFactory&lt;TableData,Double&gt; mrpPro = new PropertyValueFactory&lt;TableData,Double&gt;("mrp");
    PropertyValueFactory&lt;TableData,Double&gt; amtPro = new PropertyValueFactory&lt;TableData,Double&gt;("amt");
    PropertyValueFactory&lt;TableData,Hyperlink&gt; rmbutton = new PropertyValueFactory&lt;TableData,Hyperlink&gt;("rbutton");

    nameColumn.setCellValueFactory(namePro);
    qtyColumn.setCellValueFactory(qtyPro);
    expColumn.setCellValueFactory(expPro);
    batchColumn.setCellValueFactory(batchPro);
    mrpColumn.setCellValueFactory(mrpPro);
    amtColumn.setCellValueFactory(amtPro);
    removeRowColumn.setCellValueFactory(rmbutton);



    for(TableData data:tableData){
        if(data.getName()==comboBox.getEditor().getText() || data.getName() == comboBox.getSelectionModel().getSelectedItem().toString()){
            common.dialogAlert("Already in Table!","Already in the Table!","Already Exist,Please change the quantity!");
            return;
        }

    }

    tableData.add(new TableData(name,batch,exp,qty,mrp1,mrpAmount, rbutton));
    tableView.setItems(tableData);

    clearInput();
    calctotal();


}
</code></pre>

<p>The TableData Class:</p>

<pre><code>public class TableData extends ActionEvent {
private final SimpleStringProperty name;
private final SimpleStringProperty batch;
private final SimpleStringProperty exp;
private final SimpleIntegerProperty qty;
private final SimpleDoubleProperty mrp;
private final SimpleDoubleProperty amt;
private final Hyperlink rbutton;

public Hyperlink getRbutton() {
    return rbutton;
}

public TableData(String name, String batch,
                 String exp, int qty, Double mrp, Double amt, Hyperlink rbutton) {
    this.name = new SimpleStringProperty(name);
    this.batch = new SimpleStringProperty(batch);
    this.exp = new SimpleStringProperty(exp);
    this.qty = new SimpleIntegerProperty(qty);
    this.mrp = new SimpleDoubleProperty(mrp);
    this.amt = new SimpleDoubleProperty(amt);
    this.rbutton = rbutton;
    this.amt.bind(this.qty.multiply(this.mrp));


}

public String getName() {
    return name.get();
}

public SimpleStringProperty nameProperty() {
    return name;
}

public void setName(String name) {
    this.name.set(name);
}

public String getBatch() {
    return batch.get();
}

public SimpleStringProperty batchProperty() {
    return batch;
}

public void setBatch(String batch) {
    this.batch.set(batch);
}

public String getExp() {
    return exp.get();
}

public SimpleStringProperty expProperty() {
    return exp;
}

public void setExp(String exp) {
    this.exp.set(exp);
}

public int getQty() {
    return qty.get();
}

public SimpleIntegerProperty qtyProperty() {
    return qty;
}

public void setQty(int qty) {
    this.qty.set(qty);
}

public double getMrp() {
    return mrp.get();
}

public SimpleDoubleProperty mrpProperty() {
    return mrp;
}

public void setMrp(double mrp) {
    this.mrp.set(mrp);
}

public double getAmt() {
    return amt.get();
}

public SimpleDoubleProperty amtProperty() {
    return amt;
}

public void setAmt(double amt) {
    this.amt.set(amt);
}
</code></pre>

<p>}</p>

<p>How do i add this same HyperLink for every row in a column?</p>