java在编辑后从ListView中获取项目
我有一个包含字符串项的列表视图。我创建了一个覆盖方法setOnMouseClicked for Button。当我们推送它时,ListView会创建新项目,我们可以编辑它的名称。但我得记下这件物品的名字。所以我不能这么做。。。也许我应该用一台影院?希望你的答案
主要问题-编辑后如何获取项目名称
代码:
@Override
public void start(Stage stage) throws Exception {
File file = new File("D:\\");
String[] filesName = file.list();
ObservableList<String> Langs = FXCollections.observableArrayList(filesName);
ListView<String> langsListView = new ListView<String>(Langs);
Button BtnBack = new Button();
Button CreateDir = new Button();
CreateDir.setText("New Directory");
BtnBack.setText("Back");
ArrayList<String> z = new ArrayList<String>();
z.add(file.getPath());
CreateDir.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
langsListView.setEditable(true);
langsListView.getItems().add(0,"");
langsListView.setCellFactory(TextFieldListCell.forListView());
langsListView.layout();
langsListView.edit(0);
langsListView.setEditable(false);
//I need that next code is working but it isn't... don't know why.
String newDir = new String();
for (String s : z)
newDir += s;
File newfile = new File(newDir+langsListView.getItems().get(0));
System.out.println(newDir + langsListView.getItems().get(0));
}
});
FlowPane BtnPane = new FlowPane(10,10,BtnBack, CreateDir);
FlowPane root = new FlowPane(BtnPane,langsListView);
Scene scene = new Scene(root, 600, 500);
stage.setScene(scene);
stage.setTitle("ListView in JavaFX");
stage.show();
}
共 (0) 个答案