gpt4 book ai didi

java - 打字时是否可以在文本字段中附加文本?

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:29 25 4
gpt4 key购买 nike

我正在尝试构建一个任务管理器。我试图让用户编辑一个任务,程序将响应此命令,而无需用户按 Enter 按钮。

例如,如果我有一个任务列表:

  1. 去学校
  2. 美好的一天

如果用户在文本字段中输入“edit 2”,我希望程序将第二个任务的内容附加在输入的后面,而不必按回车按钮,即文本字段应更改为编辑 2 个美好的一天。然后用户就可以修改内容了。

这可能吗?

如果是,我需要学习哪些必要的东西?

最佳答案

您可以使用 TextFieldtextProperty() 并使用它来完成此操作。

我为您创建了一个演示:

输入

编辑1

输出

编辑1去学校

代码

import java.util.HashMap;
import java.util.Map;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class TextFieldAutoAppend extends Application {

@Override
public void start(Stage primaryStage) throws Exception {

Map<String, String> mapOfTasks = new HashMap<String, String>();
mapOfTasks.put("1", "go to school");
mapOfTasks.put("2", "good day");

Pane pane = new Pane();
TextField textField = new TextField();
pane.getChildren().add(textField);

textField.textProperty().addListener(new ChangeListener<String>() {

@Override
public void changed(ObservableValue<? extends String> observable,
String oldValue, String newValue) {
String[] subStrings = newValue.split(" ");
if(subStrings.length ==2){
if(subStrings[0].equalsIgnoreCase("edit") && mapOfTasks.keySet().contains(subStrings[1])){
textField.setText(newValue + " " + mapOfTasks.get(subStrings[1]));
}
}
}
});

Scene scene = new Scene(pane, 200, 200);
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}
}

关于java - 打字时是否可以在文本字段中附加文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com