详细步骤
例行说明
-
还是原先的老套路,先实现后调用,先把
MyButton
做出来,到后续版本再调用 -
之所以要自己做个
MyButton
, 是因为JToggleButton
功能比较有限,但又不完全没有用,所以选择了extends
,这样即继承JToggleButton
的所有功能,又可以添加新的功能进去,就一个字 爽 ∩ω∩
代码分析
setImage()
单纯从变量以及方法的名称可以看出其含义(下列命名方式堪忧)imageUpPath
就是按钮抬起的图片路径,getImageUpPath(name)
通过按钮名称找到其路径imageDownPath
同理,按钮按下的图片路径wavPath
同上,音频文件的路径
实现细节直击源码 MyButton V1.5
补充:
setImage()
是MyButton
中唯一对外暴露的方法,后期对按钮进行修改时候,直接调用该方法即可
public void setImage(String name) { //UpName
imageUpPath = getImageUpPath(name);
imageDownPath = getImageDownPath(getImageDownName(name));
wavPath = getWavPath(name);
}
getDownColorDirection()
- 这个方法的命名更让人摸不着头脑,Down 的意思是 Press,Up 是 Release(@_@)
- 该方法的作用是通过
type
类型,返回按钮按下对应的颜色&方向,辅助获取按下图片路径
/*
* return the other case of Color & Direction(U/D)
*/
public final String getDownColorDirection(String type) {
if(type.equals("WU")) {
return "GD";
} else if(type.equals("LU")) {
return "BD";
} else if(type.equals("RX")) {
return type;
}
return null;
}
注:上个版本配置文件里的路径没写对,在这里改一下,添加 img1 绿色部分(wav.properties & pic.properties 都要改)
或者 下载这两个文件 替换本地的更省事
- img1