在关键事件中动态更改逗号到点(摆动)

时间:2017-01-20 14:25:59

标签: java swing jtextfield

我在TextField上遇到actionListener(keyPressed)问题。 这是按下键后调用的方法,但它不会更改TextField中的字符:

private void checkIfTypingDots(java.awt.event.KeyEvent kev) {
            int keyCode = kev.getKeyCode();
            if(keyCode == KeyEvent.VK_COMMA) {
                kev.setKeyCode(KeyEvent.VK_PERIOD);
            }
    }

如何通过event-keyPressed?

动态地将逗号更改为TextField中的点

1 个答案:

答案 0 :(得分:0)

  

动态地将逗号更改为键事件中的点(摆动)

在将字符串输入DocumentFilter之前,使用Document翻译字符串。

阅读How to Implement a DocumentFilter上Swing教程中的部分,了解更多信息以帮助您入门。

要覆盖替换(...)方法,您可以执行以下操作:

public void replace(final FilterBypass fb, final int offs, final int length, final String str, final AttributeSet a)
{
    if (str.equals(","))
        super.replace(fb, ofs, length, ".", a);
    else
        super.replace(fb, offs, length, str, a);
}