我正在尝试连接按钮,当鼠标进入时按“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");
}
}
答案 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");
}
});
}
}