如何找出用户在Java JtextField中输入的文本字段?

时间:2013-12-19 03:15:35

标签: java arrays swing matrix jtextfield

我有以下代码:

    int[] matrix = new int[9][9];

    (for int x = 0; x <= 8; x++){
        (for int y = 0; y <= 8; x++){
             JtextField matrix[x][y] = new JtextField(“Matrix" x + y)
             int[] coords = new int[2];
             coords[0] = x;
             coords[1] = y;
             matrix[x][y].putClientProperty("coords", coords);
             matrix[x][y].setText(game[x][y]);
         }
     }

循环结束后,我需要一种方法来找出用户输入的文本字段(用户也会输入)。所以: 1.如何检查JtextField是否已被编辑而不知道它是哪一个或其名称? 2.如何检查文本字段所在的“坐标”?我知道如何做到这一点,但由于某种原因我无法编码。

我觉得答案是正确地盯着我,但是已经很晚了,我累了,而且我会感到慌乱。谢谢!

1 个答案:

答案 0 :(得分:1)

答案取决于你想要达到的目标。

如果您只对最终结果感兴趣,可以使用ActionListener(当用户点击 Enter 时)和FocusListener表示他们何时“并以任何方式离开现场(假设你想知道这一点)

当相应事件发生时,您可以使用source检查事件的getSource。现在返回Object,但您可以使用instanceof来确定对象是否可以转换为JTextField ...

例如......

Object source = evt.getSource();
if (source instanceof JTextField) {
    JTextField field = (JTextField)source;
    int[] coords = field.getClientProperty("coords");
}

请查看How to write an Action ListenerHow to write a Focus Listener了解详情。

根据您的需要,您还可以查看Validating Input