2013-03-31 69 views
4

我有一個JButton的在Java中下面的代碼:熱鍵/快捷方式的JButton

enterButton = new JButton("Enter"); 
enterButton.setMnemonic(KeyEvent.VK_ENTER); // Shortcut: Alt + Enter 

的問題很簡單:與其具有快捷的「Alt + Enter鍵」,如何設置一個快捷鍵「輸入」 ?

我只是更喜歡按「回車」,而不是抱着「Alt」鍵,然後按「Enter」鍵

回答

6

我有同樣的問題:我有一個窗體,每當我編輯一個字段,我想按下輸入它來觸發actionPerformed事件。

我這個固定: 的JPanel按鈕和表格的其餘部分位於被稱爲contentcontent.getRootPane().setDefaultButton(enterButton);

這使得總是選擇,所以當你按下輸入鍵,其相應的actionPerformed事件(請記住添加一個ActionListener!)

希望這可以幫助你!

此致
埃克托

3

你可以做一個按鈕,輸入關鍵字做出反應,通過一種特殊的技術,一個只適用於回車鍵,並且要執行此操作,您需要獲取顯示按鈕的頂級窗口的JRootPane,並在此根窗格上調用setDefaultButton(myButton)

enterButton = new JButton("Enter") 

// after the enterButton has been added to the GUI and the GUI displayed, call: 
JRootPane rootPane = SwingUtilities.getRootPane(enterButton); 
rootPane.setDefaultButton(enterButton); 

否則,對於非輸入鍵,你需要使用按鍵綁定是做,能,但需要更多的努力。

+2

小編:不需要SwingUtilities類,如JComponent的具有[的getRootPane()](http://docs.oracle.com/javase/7/docs/api/javax /swing/JComponent.html#getRootPane%28%29)方法。 – VGR