如何在单击图像时显示JTextField



所以我想让这个程序允许用户使用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);
}

最新更新