有人可以在下面的代碼中提出問題。我無法填充表格中的數據。 這段代碼基本上應該添加一列(col1)並在其中添加一行數據d1。此代碼能夠添加列,但不能添加數據。javafx 2- tableview動態列
控制器 -
import java.util.ArrayList;
import java.util.List;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
public class FXMLTableViewController {
@FXML private TableView tableView;
@FXML
private void initialize() {
List<String> columns = new ArrayList<String>();
columns.add("col1");
TableColumn [] tableColumns = new TableColumn[columns.size()];
int columnIndex = 0;
for(String columName : columns) {
tableColumns[columnIndex++] = new TableColumn(columName);
}
tableView.getColumns().addAll(tableColumns);
ObservableList<ObservableList> csvData = FXCollections.observableArrayList();
ObservableList<String> row = FXCollections.observableArrayList();
row.addAll("d1");
csvData.add(row);
tableView.getItems().add(csvData);
}
}
FXML
<?import javafx.collections.*?>
<?import javafx.geometry.Insets?>
<?import java.lang.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.control.cell.*?>
<?import javafx.scene.layout.*?>
<?import fxmltableview.*?>
<GridPane alignment="center" hgap="10.0" vgap="10.0" fx:controller="FXMLTableViewController"
xmlns:fx="http://javafx.com/fxml">
<TableView fx:id="tableView" GridPane.columnIndex="0" GridPane.rowIndex="1">
<columns>
</columns>
</TableView>
</GridPane>
主類 -
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class FXMLTableView extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("FXML TableView Example");
Pane myPane = (Pane)FXMLLoader.load(getClass().getResource("fxml_tableview.fxml"));
Scene myScene = new Scene(myPane);
primaryStage.setScene(myScene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
請參閱[Oracle的TableView教程](http://docs.oracle.com/javafx/2/ui_controls/table-view.htm)中的「示例12-12添加地圖數據到表格」。 –
嗨Uluk,我正在尋找tableview代碼,其中列數不固定(即它可以在運行時更改,可以說,基於db查詢)。我有一個java對象,它是固定行(即5行但列數可變) – user2816100