我已經加入ENTER鍵,默認FocusTraversalKeys這樣...捕捉ENTER KeyEvent的,做一個點擊,而不是
private void focus() {
Set forwardKeys = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
Set newForwardKeys = new java.util.HashSet(forwardKeys);
newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, newForwardKeys);
}
我有我通過使用對焦去一個產品信息的形式,但是當涉及到一個保存按鈕我想點擊按鈕而不是焦點去下一個組件。
我加了的keyPressed和的keyReleased監聽器按鈕,然後嘗試這個...
private void saveButtonKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
evt.consume();
saveButton.doClick();
}
}
此方法同樣適用於我的文字區域,但該代碼沒有點擊,而不是將焦點在下一個組件上,這也是一個按鈕。
請建議一些能幫助我達到所需結果的東西。在下面查找所使用表格的圖像。
http://tinypic.com/r/33acqy9/5
您可以將按鈕的焦點轉移鍵設置爲默認值(即'TAB'),這意味着「ENTER」鍵將默認執行... – MadProgrammer
@MadProgrammer這就是我已經完成的設置Focus遍歷該框中所有內容的鍵,以包含ENTER鍵。我想在按鈕時做「空格鍵」效果,而不是將焦點轉移到下一個組件。 – HMH
也可以爲單個組件設置焦點傳送鍵。看看[由kleo回答](http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html)以獲取更多詳細信息 – MadProgrammer