我正在尝试使特定的文本字符串跟随 JPanel 内的光标。我创建了一个扩展 JPanel 并实现 MouseMotionListener 的类。该代码似乎不起作用。显示了文本,但它没有跟随光标。
package followthemouse;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JPanel;
public class TheJPanel extends JPanel implements MouseMotionListener {
private int x = 20;
private int y = 20;
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("I love your cursor!", x, y);
}
@Override
public void mouseMoved (MouseEvent me)
{
x = me.getX();
y = me.getY();
repaint();
}
@Override
public void mouseDragged (MouseEvent me)
{
}
}
这是主函数中的内容:
package followthemouse;
import javax.swing.JFrame;
/**
*
* @author Vikram
*/
public class FollowTheMouse extends JFrame{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
TheJPanel y = new TheJPanel();
JFrame x = new JFrame("The TITLE");
x.add(y);
x.setSize(400, 400);
x.setVisible(true);
}
}
我做错了什么?
最佳答案
您应该将监听器添加到面板。
插入以下构造函数:
public TheJPanel() {
this.addMouseMotionListener(this);
}
关于java - 在 JPanel 中使文本跟随光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400197/