【发布时间】:2017-04-21 14:33:56
【问题描述】:
我正在尝试使用按钮上的简单事件处理程序将名称(字符串)应用到 JavaFX 中的 ListView 中,并接收来自 TextFields 的输入。所有字段似乎都有效且正确,只是没有更新到列表视图中
private ListView<String> manifestList;
manifestList = new ListView<>();
manifestList.setId("List");
manifestList.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
ListView添加方法:
public void addtoList(String manifestlist){
manifestList.getItems().add(manifestlist);
}
为输入生成文本框的 For 循环(我已将其预设为 name1、name2 等以对其进行测试)
for( i = 0;i < editname.length;i++){
editname[i] = new TextField("Name" + i);
}
将文本字段中的文本添加到列表视图的按钮处理程序(有 16 个文本框)
Button add = new Button("add");
add.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
for(i=0; i<16; i++){
test.addtoList(editname[i].getText());
}
}
});
test 是我从中调用 add 方法的类的变量名,列表视图位于该类中。调用 add 方法的按钮位于不同的场景/类中。
我无法完全弄清楚这里出了什么问题,我已经将文本字段的值打印到控制台并且打印正常 - 但是它们不会更新到 ListView。
我已经尝试在列表视图中使用带有预设字符串的 add 方法,并且添加得很好。
任何帮助/提示将非常感谢。
【问题讨论】:
-
什么是
test?如果您发布一个完整的示例,诊断问题会容易得多:请参阅如何创建minimal reproducible example。 -
嘿,谢谢 - test 是我从中调用 add 方法的类的变量名,列表视图位于其中。调用 add 方法的按钮位于不同的场景中/类。
-
我也会尝试创建一个最小的例子
标签: java string listview javafx