文档章节

自定义Button

jackchanxj
 jackchanxj
发布于 2014/06/13 22:13
字数 358
阅读 30
收藏 0

今天开始着手写课程设计,非常作弊得打算写一个Mplayer的前端,通过JNA和cmd调用Mplayer来制作一个播放器。但发现原来单单写个前端就够受的了。


言归正传,今晚就几下刚才才摸索到的JButton的使用技巧。

Swing下的JButton使用起来很方便,大家都知道的,但默认图标确实是丑,虽然能自定义图标(icon),但效果那是惨不忍睹。因此,我从api中找到了JButton的直接父类AbstractButton。 


要自定义Button,首先要button中一下的几种图标:

defaultIcon:默认图标,就不多说了。

pressedIcon:按下图标,就是你点击按钮时显示的图标

rolloverIcon:翻转图标,其实就是你鼠标经过按钮时显示的图标

rolloverSelectedIcon :选择翻转图标,不太明白

disabledIcon:禁用图标,就是按钮处于禁用状态时显示的图标

disabledSelectedIcon:禁用选择图标,也不太懂,希望有大神指导

说到这里,大家都懂了,其实所谓的自定义图标就是分别设置不同状态下的图标,以达到不同的效果。

play = new JButton();
play.setPressedIcon(new ImageIcon("data/play.png"));
play.setSelectedIcon(new ImageIcon("data/play1.png"));
play.setRolloverIcon(new ImageIcon("data/play2.png"));



不过还要注意,AbstractButton 是默认带边框和带按下效果的,这里要把它们禁用掉,代码如下:

play.setBorder(null);
play.setContentAreaFilled(false);




© 著作权归作者所有

共有 人打赏支持
jackchanxj
粉丝 1
博文 9
码字总数 2029
作品 0
广州
程序员
Egret之Eui.Button换肤

在Gui中对Button换皮相当的给力: Gui.Button.skinName = new egret.gui.ButtonSkin(normalresource, upresource , disable_resource); 但是在EUI中没有ButtonSkin类.所以找到了其他方法. 我用......

Aonaufly
2017/10/26
0
0
史上最详细最清楚的layoutSubView何时调用文章

1.init初始化 和 initWithFrame初始化都不会调用layoutSubView 2. addsubView会触发layoutSubViews, 当TestView.frame = {0,0,0,0}时; TestView *test = [[TestView alloc] init]; [sel......

王素年
2016/12/20
9
0
Android自定义吐司Toast:自定义样式、自定义显示时长

Android自定义吐司Toast:自定义样式、自定义显示时长 鉴于系统toast,一般都是黑色背景且位于界面底部,我们看到有些app弹出的toast,有的在界面中间、有的在界面顶部,还有的是带图片的,那...

天外来客1101
2016/11/23
141
0
android的listview中的每一个item内有个自定义的button,怎么避免button与item的点击事件同时响应

android的listview中的每一个item内有个自定义的button,怎么避免button与item的点击事件同时响应, 详细的说就是在listview中我添加了一个自定义的button控件,当我点击button按钮时,手指有...

claylee
2013/05/19
2.5K
1
ios UITableViewCell上button点击混乱

自定义cell上添加自定义button button很多 点击button的触发事件时 发生复用 求解!

_spring_
2014/03/19
2.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

6. Python3源码—List对象

6.1. List对象 List对象是“变长对象”。 6.1.1. Python中的创建 Python中List对象最重要的创建方法为PyList_New,如下Python语句最终会调用到PyList_New: test = [1, 2, 3, 4, 5] 6.1.2. ...

Mr_zebra
7分钟前
0
0
nginx屏蔽指定接口(URL)

Step1:需求 web平台上线后,需要屏蔽某个服务接口,但又不想重新上线,可以采用nginx屏蔽指定平台接口的办法 Step2:具体操作 location /dist/views/landing/UNIQUE_BEACON_URL { re...

Linux_Anna
15分钟前
0
0
tomcat高并发配置调优

作者:Joker-pan 原文:https://blog.csdn.net/u011622226/article/details/72510385?utm_source=copy --------------------- tomcat 解压就使用的,配置都没动过,肯定不能支持高并发了; ...

imbiao
34分钟前
0
0
mysql 联结,级联查询总结区分

其实我对 数据库的级联或者联结查询一直都是会用,项目能查询出来自己想要的结果即可。 毕竟SQL使用复杂的查询毕竟比较少,而且不难使用。 至于区分他们,我还真的有点模糊。 在看 《SQL必知...

之渊
50分钟前
1
0
区块链入门教程分享区块链POW证明代码实现demo

兄弟连区块链入门教程分享区块链POW证明代码实现demo 这里强调一下区块链的协议分层 应用层 合约层 激励机制 共识层 网络层 数据层 上 一篇主要实现了区块链的 数据层,数据层主...

兄弟连区块链入门教程
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部