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

Java JTextField文本长度在删除字符后未更新

燕富
2023-03-14

我试图创建一个带有关键监听器的JTextField,它将仅在文本长度正好为4时启用按钮。

它的工作,但如果长度达到4,我删除一个字符(使用退格或删除按钮)文本长度不更新,并保持4,直到我删除另一个字符,但这将使它实际上2个字符。

你能帮我修改代码让它更新长度吗?提前谢谢。

我已经试过了,但没有成功:

Document doc = field.getDocument();
if (doc.getLength() > 0) {
    try {
        doc.remove(field.getCaretPosition(), 1);
    } catch (BadLocationException e1) {
    }
}

field.setText(field.getText().substring(0, field.getText().length()));

共有1个答案

商璞
2023-03-14

发现错误:

我调用该方法来启用KeyListenerkeyTyped方法中的按钮,而不是在keyReleased方法中执行该操作。

这个简单的更改使代码按预期工作。

 类似资料:
  • 我正在尝试更新JTable(或data?)的行在我对一行执行删除操作后,当选择另一行时,可以编辑所选行。当前删除该行将使已删除行下方的行上移,但如果选择了该行号并尝试进行编辑,则会返回(JOptionPane),就像未选择任何内容一样。它似乎没有“刷新”数据(?)。 这是一个SCCE,希望有人可以运行它并指出问题。我试着尽可能地缩小它,以便于复制/粘贴: 我在这里看到这个问题的各种形式都有一些不同

  • 但是建议的解决方案对我来说都不起作用。我从sqlite数据库中的RecycerView列表项,当我向左滑动时,相应的数据将成功地从数据库中删除。由于某些原因,昨天一切都工作得很好,删除的项从列表中消失了,但从今天开始,该项在RecycerView中仍然可见。下面是我的代码:

  • 大家好。我必须制作这个程序,输入一个文本,输出有多少个单词,以及有多少个长度为1、2等的单词。我已经完成了计算单词数的程序,但对于第二部分我不知道。非常感谢任何能帮忙的人。

  • 假设我的字符串是10个字符长。 如何删除最后一个字符? 如果我的字符串是(我不想替换字符,因为我的字符串可能包含多个字符),我只想删除最后一个字符。不管它是什么或者它发生了多少次,我都需要从我的字符串中移除最后一个字符。

  • 问题内容: 我有绳子。 如何在离开字符串的同时从字符串中删除? 问题答案: 对于所有要丢弃的事件,请使用: PS:replace函数返回一个新字符串,并使原始字符串保持不变,因此在replace()调用之后使用该函数的返回值。

  • 我有一个字符串。 在保留的同时,如何从字符串中删除?