输入鼠标,鼠标退出,在每个事件上更改按钮上的文本

时间:2016-12-13 16:05:17

标签: java mouseevent mouselistener onmouseover

我正在尝试连接按钮,当鼠标进入时按“Hi”,鼠标离开时按“Bye”。我一直在使用MouseListener的鼠标事件但无济于事。

我是Java的新手,这个问题在过去的两天里一直困扰着我,我一直无法理解。任何帮助将不胜感激。

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");
   }
}                                           

2 个答案:

答案 0 :(得分:0)

单独更新UI组件通常是不够的;您还必须触发重绘操作。

换句话说:这里有两个“层”。一个是“数据模型”(某些按钮知道其文本);另一个是实际的“图形内容”。后者以某种方式显示第一部分而存在。因此,需要解决这两个层,以便让用户可以看到您的机会。

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

答案 1 :(得分:0)

试试这样。它对我有用。

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");
        }
    });
}
}