问题描述
我正在寻找一种方法,以某种方式存储输入到由 Scenebuilder 在 FXML 文件中为整个会话创建的文本字段中的文本。
例如:用户登录应用程序,然后输入文本到文本字段以搜索数据。我想让它像当我们将鼠标放在文本字段中时它显示在此会话中执行的搜索一样。
我找了教程,没找到。如果有教程链接,任何人都可以指导我。
解决方法
看起来您需要的是一个可编辑的 ComboBox。每次执行搜索时,将 ComboBox 中的值添加到 ComboBox 中的列表中:
public class SearchHistorySample extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
ComboBox<String> comboBox = new ComboBox<>();
comboBox.setEditable(true);
comboBox.setMinWidth(200);
Button button = new Button("Search");
Text text = new Text("No Search Yet");
button.setOnAction(evt -> {
text.setText("You searched for: " + comboBox.getValue());
comboBox.getItems().add(comboBox.getValue());
comboBox.setValue("");
});
primaryStage.setScene(new Scene(new VBox(5,new HBox(10,comboBox,button),text),300,200));
primaryStage.show();
}
}