JavaFx tableview中的JSON数据

时间:2013-02-07 05:33:05

标签: javafx-2 tableview javafx fxml

我正在javaFX中开发应用程序。我想在tableview中显示json响应。 我不知道该怎么做

我的文件如下:

projects.fxml

<TableView fx:id="mytableTableView" layoutX="384.0" layoutY="54.0" prefHeight="210.0"     prefWidth="202.0" tableMenuButtonVisible="true">
  <columns>
    <TableColumn prefWidth="75.0" text="ID" fx:id="idColumn" />
    <TableColumn prefWidth="75.0" text="Name" fx:id="nameColumn" />
    <TableColumn prefWidth="75.0" text="Identifier" fx:id="identifierColumn" />
    <TableColumn prefWidth="75.0" text="Description" fx:id="descriptionColumn" />
    <TableColumn prefWidth="75.0" text="CreatedOn" fx:id="created_onColumn" />
  </columns>
</TableView>

项目控制器

@FXML
TableView<ProjectProperties> mytableTableView;
@FXML TableColumn<ProjectProperties,Integer> idColumn;
@FXML TableColumn<ProjectProperties,String> nameColumn;
@FXML TableColumn<ProjectProperties,String> identifierColumn;
@FXML TableColumn<ProjectProperties,String> descriptionColumn;
@FXML TableColumn<ProjectProperties,String> created_onColumn;


 public void initialize(URL url, ResourceBundle rb)
   {
 String responseJSON = HttpManager.getData(url, null);

  }

我在responseJSON中得到了我希望在表格视图中显示的json响应。

我没有得到如何将json绑定到表视图。

我可以将json转换为数组。

但tableview的setItems()方法需要ObservableList。

所以任何建议和例子都会受到极大的关注。

2 个答案:

答案 0 :(得分:2)

我认为您可以使用DataFx项目,该项目具有使用JSON提供数据视图的方法: http://www.javafxdata.org/content/data-sources/

使用DataFx和Rest远程源的另一个来源: http://fxapps.blogspot.fr/2012/04/fetching-rest-data-sources-with-datafx.html

答案 1 :(得分:1)

It is possible for me to convert json to the array.

But the setItems() method of tableview require the ObservableList .

然后从该数组创建ObservaleLIst并设置为Table View

示例代码:

ObservableList data = FXCollections.observableArrayList(array);

mytableTableView.setItems(data);