scala 2.11 + JavaFX プロジェクトを 2.12.0-RC1 に更新したところ、コードは Java@FXML
アノテーションを集中的に使用します。
trait MainController {
@FXML def onRun(event: ActionEvent) {
val script = currentEngine.executeScript("editor.getValue()").toString
runScript(script)
}
}
<MenuItem mnemonicParsing="false" onAction="#onRun" text="Run">
<accelerator>
<KeyCodeCombination alt="UP" code="R" control="UP" meta="UP" shift="UP" shortcut="DOWN"/>
</accelerator>
</MenuItem>
実行時に、実行中にエラーがスローされますFXMLLoader.load
。
javafx.fxml.LoadException: Error resolving onAction='#onRun', either the event handler is not in the Namespace or there is an error in the script.
コンパイル中に@FXML
アノテーション情報が失われたようです。2.12 ではすべてのトレイトがインターフェースにコンパイルされると聞きましたが、この変更はどのように問題を引き起こしますか? 回避策はありますか?