首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在中徘徊在JButtons上

在中徘徊在JButtons上
EN

Stack Overflow用户
提问于 2017-10-07 18:26:31
回答 1查看 1.5K关注 0票数 0

现在我在我的JFrame上有多个按钮,当按钮被悬停时,按钮的颜色会被改变,当我的光标离开这个按钮后,按钮的颜色会变回原来的颜色。现在,我将此代码应用于我的所有按钮:

代码语言:javascript
复制
private void btn1MouseEntered(java.awt.event.MouseEvent evt) {                                       
        btn1.setBackground(new Color(236, 252, 250));
    }                                      

    private void btn1MouseExited(java.awt.event.MouseEvent evt) {                                      
        btn1.setBackground(new Color(241, 241, 241));
    }                 

这让我觉得有一点点冗余,是否有可能写一个更短的代码,按钮将检查自己是否盘旋和改变颜色,但回到原来的颜色后,没有悬停?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-07 18:44:23

这让我觉得有点多余

您可以轻松地创建一个通用侦听器,由所有按钮共享:

代码语言:javascript
复制
MouseListener ml = new MouseAdapter()
{
    public void mouseEntered(java.awt.event.MouseEvent evt)
    {            
        Component c = evt.getComponent();                   
        c.setBackground(new Color(236, 252, 250));
    }                                      

    public void mouseExited(java.awt.event.MouseEvent evt)
    {                                      
        Component c = evt.getComponent();
        c.setBackground(new Color(241, 241, 241));
    }  
}

然后,在代码中可以将侦听器添加到按钮中:

代码语言:javascript
复制
btn1.addMouseListener( ml );
btn2.addMouseListener( ml );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46623655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档