-2

这是 Consing.java这是我的表

这是我的代码。

public class TableViewByColumn extends Application{
@Override
public void start(Stage primaryStage) throws Exception {
    ArrayList<Integer> intValues = Consing.getInstance().getBook_ID();
    ArrayList<String> stringValues = Consing.getInstance().getBookName();

    TableView<Integer> table = new TableView<>();
    for(int i=0; i<intValues.size()& i<stringValues.size(); i++){
        table.getItems().add(i);
    }

    TableColumn<Integer,String> stringColunm = new TableColumn<>("Name");
    stringColunm.setCellValueFactory(cellData -> {
        Integer rowIndex = cellData.getValue();
        System.out.println(rowIndex);
        return new ReadOnlyStringWrapper(stringValues.get(rowIndex));
    });

    TableColumn<Integer,Number> intColunm = new TableColumn<>("Value");
    intColunm.setCellValueFactory(cellData -> {
        Integer rowIndex = cellData.getValue();
        return new ReadOnlyIntegerWrapper(intValues.get(rowIndex));
    });
    table.getColumns().add(intColunm);
    table.getColumns().add(stringColunm);
    primaryStage.setScene(new Scene(new BorderPane(table),600,600));
    primaryStage.show();
}

这是我的结果

book_ids 和 names 不等于表中的。

4

1 回答 1

-1

你是如何从你的 MySQL 数据库中获取数据的?看起来您正在分别获取bookIDbookName,对吗?如果这样做,则没有排序保证,因此intValues[0]不必与stringValues[0]匹配。

于 2018-06-18T07:48:53.520 回答