在 javafx.scene.control 套件路徑下,如下元件受點選都會產生動作事件(ActionEvent),
Button/TextField/CheckBox/ComboBox/RadioButton/MenuItem/Hyperlink
可對元件註冊動作事件處理器(ActionEvent Handler),接收動作事件,進行處理。
註冊動作事件處理器有兩種寫法:
1.利用元件的.setOnAction方法註冊,寫法如下
button.setOnAction(event -> System.out.println("Button clicked!"));
或
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Button clicked!");
}
});
2. 利用.fxml檔的元件屬性註冊,寫法如下
<Button text="Click Me" onAction="#handleButtonAction"/>
public class Controller {
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("Button clicked!");
}
}
註: 方法前的 @ 標註旨在通知編譯器作防呆檢查,減少可能錯誤
1. @Override 標註將提醒編譯器檢查該方法簽名是否有覆蓋上一代方法
2. @FXML 標註將提醒編譯器檢查該方法或屬性是否出現於 .fxml 介面配置檔中
Two ways to write action event handlers in JavaFX
訂閱:
張貼留言 (Atom)
how to deal with metric scale inconsistency in topn recommendation evaluation
🎯 推薦系統一般會回傳前 N 個排名的物品清單給用戶,稱為 Top‑N 推薦。 遇到推薦模型須要訓練及評估時,習慣先蒐集用戶與物品的互動資料,再將資料拆分成沒有重疊的訓練集及測試集。 模型在訓練時只看得到訓練集,評估時則拿測試集作為驗證的標準答案,以免作...
沒有留言:
張貼留言