我正在尝试在表视图上显示一些数据,但是它保持空白。 我正在从一个arrayList的人中搜索。 因此,我需要显示具有“ CPF”等于输入(TextField)的人的所有数据(CPF,ID,姓名,城市和出生日期),但我的表视图保持空白。
我只使用javaFX,而没有FXML。
我正在读取包含所有人员数据的.csv档案,将其转换为对象人员,然后填充人员列表。
我已经在阅读档案,但是我有很多麻烦要在表上显示数据。
public class Layout extends Application{
InputFileProcess processarArquivo = new InputFileProcess();
ArvoreIndexadaCpf arvoreIndexadaCpf = new ArvoreIndexadaCpf();
ArvoreIndexadaNome arvoreIndexadaNome = new ArvoreIndexadaNome();
ArvoreIndexadaData ArvoreIndexadaData = new ArvoreIndexadaData();
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Leitor de arquivo e busca em árvore AVL");
Group root = new Group();
Scene scene = new Scene(root, 800, 600, Color.GRAY);
TabPane tabPane = new TabPane();
BorderPane mainPane = new BorderPane();
Tab tabProcurarCpf = new Tab();
tabProcurarCpf.setText("Procurar por CPF");
BorderPane borderPaneCpf = new BorderPane();
borderPaneCpf.setPadding(new Insets(10));
Label labelCpf = new Label("Digite o cpf");
TextField textCpf = new TextField();
Button buttonCpf = new Button("Buscar CPF");
TableView<Pessoa> tableViewCpf = new TableView<Pessoa>();
TableColumn cpf = new TableColumn("CPF");
TableColumn rg = new TableColumn("RG");
TableColumn nome = new TableColumn("Nome");
TableColumn dataNascimento = new TableColumn("Data de nascimento");
TableColumn cidade = new TableColumn("Cidade");
ObservableList<Pessoa> pessoas = FXCollections.observableArrayList();
buttonCpf.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Long cpfLong = Long.parseLong(textCpf.getText());
pessoas.addAll(arvoreIndexadaCpf.buscarCPF(cpfLong));
}
});
tableViewCpf.setItems(pessoas);
tableViewCpf.getColumns().addAll(cpf, rg, nome, dataNascimento, cidade);
HBox hboxCpf = new HBox(10);
hboxCpf.setPadding(new Insets(10, 0, 0, 0));
hboxCpf.setAlignment(Pos.CENTER);
hboxCpf.getChildren().addAll(labelCpf, textCpf, buttonCpf);
StackPane tabCpfPane = new StackPane();
tabCpfPane.setAlignment(Pos.CENTER);
VBox intro2 = new VBox(5);
//controles de aprarência
intro2.setAlignment(Pos.CENTER);
intro2.getChildren().addAll(labelCpf, buttonCpf, hboxCpf, tableViewCpf);
borderPane.setTop(intro2);
tabCpfPane.getChildren().addAll(intro2);
tabProcurarCpf.setContent(tabCpfPane);
tabPane.getTabs().add(tabProcurarCpf);
mainPane.setCenter(tabPane);
mainPane.prefHeightProperty().bind(scene.heightProperty());
mainPane.prefWidthProperty().bind(scene.widthProperty());
root.getChildren().add(mainPane);
primaryStage.setScene(scene);
primaryStage.show();
}
arvoreIndexadaCpf.buscarCPF(cpfLong)返回人员列表。 从此列表中,我需要获取该人的数据并显示在我的TableView上。