詳細步驟
例行說明
-
還是原先的老套路,先實現後調用,先把
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