鼠标进入,鼠标退出改变每个事件按钮上的文本

Mouse entered, mouse exited changing the text on the button on each event

我正在尝试连接一个按钮,在鼠标进入时显示 "Hi",在鼠标离开时显示 "Bye"。我一直在使用带有 MouseListener 的鼠标事件,但无济于事。

我是 Java 的新手,过去 2 天这个问题一直困扰着我,我就是没弄明白。任何帮助将不胜感激。

private abstract class HandlerClass implements MouseListener {
}

private abstract class Handlerclass implements MouseListener {
   @Override
   public void mouseEntered(java.awt.event.MouseEvent e) {
      mousebutton.setText("Hi");
   }

   @Override
    public void mouseExited(java.awt.event.MouseEvent e) {
      mousebutton.setText("Bye");
   }
}                                           

仅更新​​ UI 组件通常是不够的;您还必须触发 repaint 操作。

也就是说:这里有两个"layers"。一个是 "data model"(某个按钮知道它的文本);另一个是实际的 "graphical content"。后一个通过以某种方式显示第一部分而存在。因此,这两层都需要解决,以使您的机会对用户可见。

有关这方面的一些示例,请参阅 here

这样试试。它对我有用。

public class ChangeTextMouseEvent extends Frame
{
static JButton btn;
public ChangeTextMouseEvent()
{
    setTitle("ChangeText");
    btn = new JButton("SSS");
    add(btn);
    setVisible(true);
    setBounds(0, 0, 100, 100);
}
public static void main(String[] args)
{
    ChangeTextMouseEvent frame = new ChangeTextMouseEvent();
    btn.addMouseListener(new MouseAdapter(){
        @Override
        public void mouseExited(MouseEvent e)
        {
            btn.setText("Bye");
        }
        @Override
        public void mouseEntered(MouseEvent e)
        {
            btn.setText("Hi");
        }
    });
}
}