Java 使用抽绳在框架上显示字符串?

Java 使用抽绳在框架上显示字符串?,java,user-interface,paintcomponent,drawstring,Java,User Interface,Paintcomponent,Drawstring,所以我的程序是这样的,我点击框架的一部分,一个JOptionPane出来,请求输入。例如,我输入苹果。然后,我点击画面的另一部分,这一次输入的是橘子 这是陷阱。当我将鼠标悬停在我单击的点上时,例如在苹果点上,框架上将显示以抽绳形式出现的苹果。然后当我把鼠标悬停在橘子点上时,橘子应该会出现 我想有不同的字符串显示在我的框架悬停。有人有什么想法吗?提前感谢!:) 注意:不必为MouseListener和MouseMotionListener费心,我唯一的问题是通过drawString:)显示各种字符

所以我的程序是这样的,我点击框架的一部分,一个JOptionPane出来,请求输入。例如,我输入苹果。然后,我点击画面的另一部分,这一次输入的是橘子

这是陷阱。当我将鼠标悬停在我单击的点上时,例如在苹果点上,框架上将显示以抽绳形式出现的苹果。然后当我把鼠标悬停在橘子点上时,橘子应该会出现

我想有不同的字符串显示在我的框架悬停。有人有什么想法吗?提前感谢!:)


注意:不必为MouseListener和MouseMotionListener费心,我唯一的问题是通过drawString:)显示各种字符串,或者您可以推荐其他选项。

我不确定,我正确理解您的问题。但是您必须重写表单类中的paintComponent(Graphics g)方法,在该方法中,您将调用g.drawString(yourString);方法。当您将鼠标悬停在“苹果点”上时,只需将“yourString”设置为“APPLES”,并调用框架类的方法repaint()。别忘了清除窗体的区域,这样字符串就不会彼此重叠。

假设您正在重写
paint(…)
为什么不根据鼠标坐标检查是否绘制字符串的某些条件?对不起,我误解了你的问题。这就是问题所在。我不知道如何将坐标与字符串匹配。实现和注册
MouseMotionListener
以对
mouseMoved()作出反应有什么问题
@korifey抱歉?我没听清你的问题。我想告诉你,你可以监听鼠标运动事件,当鼠标悬停在某个地方(你的“字符串”的边界框)时,通过paintComponent()绘制你需要的任何东西methodUm。我不想初始化字符串。它可以是任何字符串。例如,我在optionpane中键入任何单词,它必须与该点对应,并显示我输入的单词。因此,您必须使用某种数据结构(如ArrayList、HashMap或其他类型)为了存储点-字符串对,移动鼠标时,只需找到点的适当字符串,就可以移动并将字符串设置为found String。实际上,我已经实现了一个HashMap,但是,它所做的是为每个点D显示相同的字符串: