6
是否有任何方法將參數傳遞給fxml文件中的onAction方法?或者,我可以以某種方式獲得調用onAction方法的組件的fx:id?javafx將fx:id傳遞給fxml onAction方法中的控制器或參數
我有幾個按鈕應該做同樣的事情,比如5個帶有按鈕1 - 按鈕5的按鈕,當按下按鈕時,應該打印相應的數字1-5。我不想有5個與這個變量相同的onAction方法。
讚賞任何幫助,
是否有任何方法將參數傳遞給fxml文件中的onAction方法?或者,我可以以某種方式獲得調用onAction方法的組件的fx:id?javafx將fx:id傳遞給fxml onAction方法中的控制器或參數
我有幾個按鈕應該做同樣的事情,比如5個帶有按鈕1 - 按鈕5的按鈕,當按下按鈕時,應該打印相應的數字1-5。我不想有5個與這個變量相同的onAction方法。
讚賞任何幫助,
呼叫只是一個處理程序,該actionEvent.source是發起事件的對象。
試試這個:
myButton1.setOnAction(new MyButtonHandler());
myButton2.setOnAction(new MyButtonHandler());
private class MyButtonHandler implements EventHandler<ActionEvent>{
@Override
public void handle(ActionEvent evt) {
if (evt.getSource().equals(myButton1)) {
//do something
} else if (evt.getSource().equals(myButton2)) {
//do something
}
}
}
或者:
myButton1.addEventHandler(ActionEvent.ACTION, new MyButtonHandler());
myButton2.addEventHandler(MouseEvent.CLICKED, new MyButtonHandler());
private class MyButtonHandler implements EventHandler<Event>{
@Override
public void handle(Event evt) {
if (evt.getSource().equals(myButton1)) {
//do something
} else if (evt.getSource().equals(myButton2)) {
//do something
}
}
}
謝謝你,救了我很多按Ctrl + C的,按Ctrl + V – glasspill
嗨HMarioD,你可以給代碼〔實施例嗎?我沒有得到。 –
@DmitryNelepov我用一些例子編輯了答案,希望這對你有所幫助。 – HMarioD