如何在javafx中动态创建表视图?

时间:2013-09-30 04:42:22

标签: javafx-2 javafx

在我的应用程序中,我有一些在开始时未知的命令集。这些命令通常会发送一些数据。 我想将所有执行命令推送到javafx的表视图。当前我可以使用可观察的arraylist来做到这一点。当前我正在更新arraylist每当新命令到来时。但我想在不同的表视图中显示每个命令。我想动态创建表视图a / c到命令

假设我有3个命令命令1命令2命令3 如果命令1出现,我应该根据正在执行的命令创建表,那么我应该创建表并在其中显示其数据。如果命令2出现,应用程序应该创建第二个表,依此类推。 任何有关这方面的帮助将不胜感激。谢谢提前......

1 个答案:

答案 0 :(得分:0)

用于在javafx中创建动态表...首先,您需要一个具有setter和getter属性的Java文件以及访问它的主要final。

以下示例显示了它的工作原理......

User.java

public class User
{
int id;
String name;
 public int getId() {
    return id;
}

public void setId(int id) {
    this.id= id;
} 
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

}

现在您可以在主文件中使用此类

Main.java

设置变量

public  static TableView<User> table;
  private TableColumn<User, Integer> ColId;
  private TableColumn<User, String> ColName;
ObservationList objlst = FXCollections.observableArrayList();

现在您必须设置Columns属性以将数据添加到其中。

colId.setCellValueFactory(new PropertyValueFactory<User,Integer>("id"));
colName.setCellValueFactory(new PropertyValueFactory<CustomerDetailDO,String>("name"));

现在你可以为填充和清理表创建两个函数

public void FillTable()
{
User ab = new User();
objlist.add(ab.setId(1));
objlist.add(ab.setName("demo"));
table.setItems(objlist);
}

和干净的桌子

public void CleanTable()
{
objlist.clear();
table.setItems(objlist)
}

使用这些功能,您可以更新并删除数据到表

我希望这对你有用..