关于swing图片按钮有被点击时凹下的效果

用图片做了个按钮之后...想让按钮有被点击时凹下去的效果,在往上找了许久都没找到...自己倒有一个方法,给按钮添加鼠标事件侦听,当鼠标进入按钮范围,用setIcon(“图... 用图片做了个按钮之后...想让按钮有被点击时凹下去的效果,在往上找了许久都没找到...自己倒有一个方法,给按钮添加鼠标事件侦听,当鼠标进入按钮范围,用setIcon(“图片路径”)重新设置显示图片,但是有的图片能显示,有的不能显示,这是什么原因...对色彩,图片大小有什么特殊要求么?请教 展开
 我来答
帐号已注销
推荐于2016-03-10 · TA获得超过5622个赞
知道大有可为答主
回答量:1459
采纳率:0%
帮助的人:1383万
展开全部
不要给 JButton 加鼠标事件!

JButton 实现了普通的三态外加选中、禁用状态,有很多方法可以设置,不要自己去写鼠标监听器。

setBorderPainted(boolean b) //是否画边框,如果用自定义图片做按钮背景可以设为 false。

setContentAreaFilled(boolean b) //是否填充,如果你的自定义图片不是矩形或存在空白边距,可以设为 false 使按钮看起来透明。

setFocusPainted(boolean b) //是否绘制焦点(例如浅色虚线框或者加粗的边框表明按钮当前有焦点)。

setMargin(Insets m) //改变边距,如果 borderPainted 和 contentAreaFilled 都设成了 false,建议把边距都调为 0:new Insets(0, 0, 0, 0)。

setIcon(Icon defaultIcon) //注意了这是改的默认图标。三态中的默认,即鼠标未在其上的时候。

setPressedIcon(Icon pressedIcon) //按下时的图标。

setRolloverIcon(Icon rolloverIcon) //鼠标经过时的图标。

setRolloverSelectedIcon(Icon rolloverSelectedIcon) //鼠标经过时且被选中状态的图标。

setSelectedIcon(Icon selectedIcon) //选中时的图标。

setDisabledIcon(Icon disabledIcon) //禁用时显示的图标。例如可以换一张灰度图片。

setDisabledSelectedIcon(Icon disabledSelectedIcon) //禁用且被选中状态的图标。

--------------------------------------------
按钮多大,去掉边距以后图片就是多大。会自动缩放的。因此如果 margin 都设成 0 的话,按钮多大图片就是多大。有了这些方法根本不需要自己画按钮或者用鼠标监听器。
追问
明白了...谢谢哈
luoyan35714
2013-03-06 · TA获得超过139个赞
知道答主
回答量:175
采纳率:0%
帮助的人:87.4万
展开全部
mark!楼上讲的真心有用,很好很强大!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式