我正在制作一个数独游戏,我有9x9类型为“cell”的对象(类扩展了JTextField),如果用户不符合游戏规则,我想防止关注其他JTextField对象 - 他的输入(1- 9)不会在同一行或相同的“块”。要做到这一点,我需要知道他关注的具体对象。
我想要做的一种方法是使用DocumentFilter。我已经将输入过滤到数字和1长度,但我不知道如何获得他关注的“单元”对象,我很确定DocumentFilter方法以某种方式得到该对象但我找不到如何,任何帮助? 谢谢。
答案 0 :(得分:2)
DocumentFilter
引用了Document
,但Documnets只是模型。可以将同一文档实例设置为多个文本组件。因此,您将无法访问JTextField
。
您可以扩展DocumentFilter
并直接添加来源JTextField
。只需为每个文本字段创建所需数量DocumentFilter
。