所以我正在尝试制作这个程序,允许用户使用 java 标记照片(有点像 Facebook 标记)。我已经加载了图像,并在用户单击图像区域时制作了 mouselistener。
当用户单击照片的某个区域时,如何使 JTextField 出现?
我认为 JTextField 在某种程度上可以成为用户可以输入他/她的姓名作为照片标签的框。
另外,您认为我应该将 JTextField 代码放在哪里?主要吗?
所以我正在尝试制作这个程序,允许用户使用 java 标记照片(有点像 Facebook 标记)。我已经加载了图像,并在用户单击图像区域时制作了 mouselistener。
当用户单击照片的某个区域时,如何使 JTextField 出现?
我认为 JTextField 在某种程度上可以成为用户可以输入他/她的姓名作为照片标签的框。
另外,您认为我应该将 JTextField 代码放在哪里?主要吗?
您可以获得 X 和 Y 坐标(如 Daggeto 所说)。然后您可以使用 setVisible(true) 显示您的文本字段
MouseEvent.getX()
并 MouseEvent.getY()
返回事件相对于源组件的水平 x 和垂直 y 位置。
然后,如果您将图像区域描述为 x1,x2,y1,y2,您可以通过此“如果”检查该区域中的点击位置:
int x0 = MouseEvent.getX();
int y0 = MouseEvent.getY();
if(x0>x1 && x0<x2 && y0>y1 && y0<y2){
JTextField.setVisible(true);
}
只需在 JTextField 对象上使用 setVisible() 函数,并在用户访问图像的某个部分时设置其值。