![]() |
1
2
如果您想知道是哪个组件生成了事件,则应该使用该事件来获取源:
action命令仅用于ActionListener(在这种情况下,您将使用ActionEvent的getActionCommand()方法),而不是KeyListener。 编辑: 创建一张地图以保存您需要的信息:
现在,在addCell方法中,您可以将数据添加到地图中:
然后在KeyListener中访问点:
现在您知道了文本字段中输入文本的行/列。 或者,正如MadProgrammer已经建议的那样,您可以将Point添加为每个JTextfield的客户端属性。这种方法可能比这个建议简单一点。然而,这种方法将为每个JTextField创建一个Map,并且这种方法只为所有文本字段创建一个单独的Map,因此效率更高。 |
![]() |
2
0
是的,有一种更好/不同的方式:
我打电话的地方
请注意
|
![]() |
3
0
肯定有比这更好的方法: 有——见前面的答案
但如果没有,我得到了我想要的。。。。然而,丑陋,而且在逻辑上受到折磨——被疲劳和沮丧折磨。 (嘿——我刚刚发现了“草稿保存”功能——StackOverflow ROCKS!!) |
![]() |
4
0
我决定重写这个程序,因为它已经失控了,而且真的是垃圾——一大堆“折磨人的代码”。
当我到达与上面相同的基本区域时——“当鼠标被点击或单元格中的某个键被按下时,我如何知道哪个网格单元格调用了keyListener?”,我现在使用
然后我使用一个线性函数
这很好用,因为我的11x11网格是440x440像素。
这两个代码
|