当前位置: 首页 > 知识库问答 >
问题:

在TextField中用数字替换文本

蒋承教
2023-03-14

我有一个字段,我在其中插入端口号。我想将字符串自动转换为数字:

fieldNport = new TextField();
    fieldNport.setPrefSize(180, 24);
    fieldNport.setFont(Font.font("Tahoma", 11));
    grid.add(fieldNport, 1, 1);
 fieldNport.textProperty().addListener(new ChangeListener()
        {
            @Override
            public void changed(ObservableValue o, Object oldVal, Object newVal)
            {
                try
                {
                    int Nport = Integer.parseInt((String) oldVal);
                }
                catch (NumberFormatException e)
                {

                }
            }
        });

共有1个答案

戴品
2023-03-14

从JavaFX8U40开始,可以在文本字段上设置TextFormatter对象:

UnaryOperator<Change> filter = change -> {
    String text = change.getText();

    if (text.matches("[0-9]*")) {
        return change;
    }

    return null;
};
TextFormatter<String> textFormatter = new TextFormatter<>(filter);
fieldNport = new TextField();
fieldNport.setTextFormatter(textFormatter);

这避免了在向text属性添加更改侦听器并修改该侦听器中的文本时将发生的子类和重复更改事件。

 类似资料:
  • 我已经创建了的,使用: 我希望用户能够双击中的任何,选择的应该替换为,以便用户可以动态地输入新的标签名称。 在用户按下Enter后,应该会变成。

  • 我真的不喜欢这样链接命令。有没有另一种方法在一个做?

  • 我有下面的字符串。 在上面的字符串中,我想将数字(如上例中的0和1)替换为整数。浮点值()为十进制,字符串()为字符串。 结果: 我尝试使用下面的正则表达式替换功能,但它不工作。 下面是java代码:

  • 我试图开发一个由多个数组和文本视图组成的应用程序,我遇到了一个问题。 我有3个文本视图和2个数组。 我的一个数组包含句子。我的第一个问题是如何突出每个句子中的特定单词?例如:“这是我的第一个数组项”,我需要突出显示字符串中的一个单词,这样当它显示在文本视图1中时,它就会像这样出现..."这是我的第一个数组物品" 我的另一个数组包含单词。它们显示在textview2中,也应高亮显示。我的下一个问题是

  • 问题内容: 我想替换MySQL中VARCHAR字段中的所有非数字字符,因为它是一个电话表,在导入它们时,我发现了一些不应该存在的“ Fax:xxx”或“-”字符。 我更喜欢不涉及多个REPLACE()调用的解决方案, 提前致谢 问题答案: 这是一个mysql函数: 在更新查询中将其用作本机mysql函数。

  • 问题内容: 我需要打开一个文本文件并替换一个字符串。我需要这个 到目前为止,这是我所拥有的,但是除了多余的空格外,我看不到文本文件中的任何更改。 我该怎么做? 问题答案: 这项工作: