无法在TableView中显示数据 - JavaFX 2.2

时间:2014-02-08 02:51:04

标签: java javafx-2 tableview

我变得疯了。真的不知道我的代码发生了什么。 我试过这个代码和类似的在线帮助,但没有任何帮助我。我的TableView没有显示任何内容,真的不知道什么是问题。

执行结果:包含列但有0行数据的表(必须为1)。

基本控制器代码:

@FXML
private TableView<Dato> tabla;
@FXML
private TableColumn<Dato, String> colNumero;
@FXML
private TableColumn<Dato, String> colEntidad;
@FXML
private TableColumn<Dato, String> colUsuario;
@FXML
private TableColumn<Dato, String> colPassword;
@FXML
private TableColumn<Dato, String> colComentarios;

@Override
public void initialize(URL arg0, ResourceBundle arg1) {
    nuevaEntrada = false;

    colNumero.setCellValueFactory(new PropertyValueFactory<Dato, String>(
            "Num"));
    colEntidad.setCellValueFactory(new PropertyValueFactory<Dato, String>(
            "Entidad"));
    colUsuario.setCellValueFactory(new PropertyValueFactory<Dato, String>(
            "Usuario"));
    colPassword.setCellValueFactory(new PropertyValueFactory<Dato, String>(
            "Password"));
    colComentarios
            .setCellValueFactory(new PropertyValueFactory<Dato, String>(
                    "Comentarios"));
    buildData();

}

private ObservableList<Dato> data;

public void buildData() {

    data = FXCollections.observableArrayList();

    Dato dato = new Dato(1, "First", "First", "First", "First");
    data.add(dato);
    System.out.println(dato.toString());

    tabla.setItems(data);
}

拿督的课程:

package application;

import javafx.beans.property.SimpleStringProperty;

public class Dato {
    private SimpleStringProperty num;
    private SimpleStringProperty entidad;
    private SimpleStringProperty usuario;
    private SimpleStringProperty password;
    private SimpleStringProperty comentarios;

    public Dato(int num, String entidad, String usuario, String password,
            String comentarios) {

        this.num = new SimpleStringProperty(Integer.toString(num));
        this.entidad = new SimpleStringProperty(entidad);
        this.usuario = new SimpleStringProperty(usuario);
        this.password = new SimpleStringProperty(password);
        this.comentarios = new SimpleStringProperty(comentarios);
    }

    public Dato(int num) {

        this.num = new SimpleStringProperty(Integer.toString(num));
    }

    protected SimpleStringProperty getNum() {
        return num;
    }

    protected SimpleStringProperty getEntidad() {
        return entidad;
    }

    protected SimpleStringProperty getUsuario() {
        return usuario;
    }

    protected SimpleStringProperty getPassword() {
        return password;
    }

    protected SimpleStringProperty getComentarios() {
        return comentarios;
    }
}

0 个答案:

没有答案