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