2013-08-29 85 views
1

激活搜索雖然在文本字段中鍵入使按鍵輸入JavaFX的激活按鈕,如輸入到谷歌搜索框中按下回車鍵

我剛剛被介紹到JavaFX和場景生成器几几天前,所以我在這裏學習基礎知識。我有最新版本的JavaFX,並使用場景生成器來促進行動事件。而且,任何指向相關教程的指針都會有所幫助。在當天的某一天,我專注於Scene Builder編碼面板的鍵盤部分,尤其是在「On Key Released」事件中沒有結果。在此先感謝

這裏是什麼,我試圖做一個粗略的想法:

@FXML 
Text Field theTextField; 

@FXML 
Button theButton; 

@FXML 
void ButtonPressed() { 
    //do stuff here 
} 

@FXML 
//when ENTER is pressed the button is activated 
void textFieldEnterPressed() { 
    ButtonPressed(); 
} 

回答

8

在你FXML文件,添加一個onKeyPressed處理

<TextField fx:id="yourTextField" onKeyPressed="#handleEnterPressed"> 

實現處理你Controller

@FXML 
public void handleEnterPressed(KeyEvent event) 
    if (event.getCode() == KeyCode.ENTER) { 
     // do some actions 
    } 
} 
5

在文本字段,按Enter鍵時,您可以通過onAction得到通知。在Java代碼中可以添加:

@FXML 
private void handleTFAction(ActionEvent event) { 
    TextField source = (TextField)event.getSource(); 
    System.out.println("You entered: "+source.getText()); 
} 

在你FXML(或通過JavaFX的SceneBuilder設計師)把它掛到你的文本域的事件的OnAction。在FXML它看起來是這樣的:

<TextField onAction="#handleTFAction" ... />