Javafx TableView no muestra datos

SolíaObservableList para llenar elTableView pero el problema es que los datos no se muestran en la tabla No sé cuál es el problema porque el número de filas es exactamente como las agreguécaptura pero no hay nada en las celdas! Aquí está el código del controlador:

public class EnlistDim {

    private static final String DEFAULT="-fx-text-background-color: black; -fx-background-color: steelblue;-fx-fill: red ;";
    @FXML
    private TableView<Parameter> tab;


    @FXML
    public void initialize() {
        final ObservableList<Parameter> data = FXCollections.observableArrayList(
        new Parameter("Query","Access method","Sequential scan"),
                new Parameter("Query","Access method","in memory"),
        new Parameter("Query","Operation","join"),
        new Parameter("Query","Operation","Scan"),
        new Parameter("Query","Operation","Sort"),
        new Parameter("Database","Buffer management","Without buffer"),
        new Parameter("Database","Buffer management","FIFO"),
        new Parameter("Database","Buffer management","LIFO"),
        new Parameter("Database","Buffer management","LRU"),
        new Parameter("Database","Buffer management","Other"),

        new Parameter("Database","Optimization structure","Not used"),
        new Parameter("Database","Optimization structure","Partionning"),
        new Parameter("Database","Optimization structure","Materialized View"),
        new Parameter("Database","Optimization structure","compresssion"),

        new Parameter("Database","System storage type","Database SQL"),
        new Parameter("Database","System storage type","New SQL"),
        new Parameter("Database","System storage type","Document"),
        new Parameter("Database","System storage type","Graph"),
        new Parameter("Database","System storage type","NVRAM"),
        new Parameter("Database","System storage type","key value store"),

        new Parameter("Database","Data storage type","Row Oriented"),
        new Parameter("Database","Data storage type","Column Oriented"),
        new Parameter("Database","Data storage type","Hybrid Oriented"),

        new Parameter("Hardware","Processing device","CPU"),
        new Parameter("Hardware","Processing device","GPU"),
        new Parameter("Hardware","Processing device","FPGA"),


        new Parameter("Hardware","Storage device","RAM"),
        new Parameter("Hardware","Storage device","SSD"),
        new Parameter("Hardware","Storage device","NVRAM"),


        new Parameter("Hardware","Communication device","Modem"),
        new Parameter("Hardware","Communication device","Cable"),
        new Parameter("Hardware","Communication device","FaxModem"),
        new Parameter("Hardware","Communication device","Router")

           );
        tab.setEditable(true);
        tab.setItems(data);



        tab.setStyle(DEFAULT);

    }

}

y el código deParameter clase

class  Parameter {

   SimpleStringProperty cat;
   SimpleStringProperty subCat;
   SimpleStringProperty subSubCat;

        Parameter(String cat, String subCat, String subSubCat) {
        this.cat = new SimpleStringProperty(cat);
        this.subCat = new SimpleStringProperty(subCat);
        this.subSubCat = new SimpleStringProperty(subSubCat);
    }

    public String getCat() {
        return cat.get();
    }
    public void setCat(String c) {
        cat.set(c);
    }

    public String getSubCat() {
        return subCat.get();
    }
    public void setSubCat(String sc) {
        subCat.set(sc);
    }

    public String getSubSubCat() {
        return subSubCat.get();
    }
    public void setSubSubCat(String ssc) {
        subSubCat.set(ssc);
    }

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta