有付費跟免費可以選擇,大部分的SIZE都找的到,全英文介面,不過都是簡單的單字
https://www.iconfinder.com/
網站頁是中文的,但是還是以英文搜尋會比較多圖檔
http://findicons.com/
可以把PNG圖檔轉換成ICO 或反向轉換,可以用來做ICON圖式
http://www.convertico.com/
2014年11月27日 星期四
#JAVA 鍵盤全域監聽事件
Java GUI 的鍵盤監聽事件
在實作 Java GUI 的鍵盤事件時,可能會遇到一直監聽不到的問題因為 JFrame 如果有子元件,focus 的狀態就會被傳遞到子元件上
此時就會因為 JFrame 一直不會被 focus,因此也不會觸發 JFrame 上的鍵盤事件。
[1] 提供了攔截 Key Listener 的方法,可以在 GUI 上註冊全域的鍵盤事件
無論目前 focus 的是 GUI 中的哪一個元件,都能夠觸發鍵盤事件。
//Hijack the keyboard manager
KeyboardFocusManager manager =
KeyboardFocusManager.getCurrentKeyboardFocusManager();
manager.addKeyEventDispatcher( new KeyDispatcher() );
//Custom dispatcher
class KeyDispatcher implements KeyEventDispatcher {
public boolean dispatchKeyEvent(KeyEvent e) {
if(e.getID() == KeyEvent.KEY_TYPED)
System.out.println( "typed" + e.getCharCode() )
//Allow the event to be redispatched
return false;
}
}
不過如果需求是要攔截作業系統上所有的鍵盤事件(無論 Java GUI 是否處於 focus 狀態)
則依照 [2] 的回應,這不存在純 Java 的解法,還是必須透過作業系統那邊的方法來傳遞狀態。
以上轉載自
黑毛到白毛的攻城獅之路
http://jimwayne.blogspot.tw/2012/09/java-gui.html
訂閱:
文章
(
Atom
)