Java实现按钮隐藏点击动态效果的另类方法

背景资料:我为我的住界面绘制了一张漂亮的背景图,上面有我自己ps的漂亮按钮(因为实在受不了JButton那自带的按钮)。

我隐藏了我的添加有图片的JButton后不能,背景图片出来了,但是不能响应点击事件了。

所以我用了一个另类的方法,思路如下:

为Frame添加鼠标监听事件,获取事件触发的坐标,判断该坐标是否在按钮所在的矩形区域内,如果是,则“添加”按钮响应事件的代码

这其实完了一滑稽,障眼法(虽然我没有玩过变戏法,但是由此看来如果我学那个,估计还是很有天分的)

然后我提高了我的要求(当点击背景图上的按钮的时候,按钮有凹陷的动态效果),思路如下:

1,我在JLabel上添加一张凹陷按钮图

2,我同时监听鼠标按下和释放的事件,默认情况下,JLabel(setVisible(false))的图片不显示,当鼠标按下时JLabel(setVisible(true)),显示凹陷图片;当鼠标释放,JLabel(setVisible(false))显示背景图片上的按钮;

注意,不要用JButton,因为JButton上添加了按钮图片后有默认的白色边框,很丑。

 

代码如下:

this.addMouseListener(new MouseAdapter(){//鼠标移动事件的侦听器
    
      public void mousePressed(MouseEvent e)
      {
       //鼠标按键在组件上移动(无按键按下)时调用。
       //你点中了月/周计划 button
       if(new Rectangle(790, 100, 210, 70).contains(e.getX(), e.getY()))
     {
             System.out.println("You have clinked the 月/周计划 button");
       monthOrWeekPlanBtn.setVisible(true);
     }

     }

public void mouseReleased(MouseEvent e)
    {
     if(new Rectangle(790, 100, 210, 70).contains(e.getX(), e.getY()))
     {
             monthOrWeekPlanBtn.setVisible(false);
             System.out.println("You have released the 月/周计划 button");
              
     }

});

 

如有不清楚地方欢迎一起探讨!

欢迎转载,请注明出处http://writeblog.csdn.net/PostEdit.aspx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值