我是JavaFX的新手,目前遇到一些麻煩與onAction事件與不同包內的類。FXML和控制器在不同的包 - 按鈕onAction問題
這裏是包樹:
下面是代碼不工作樣品:
onAction="#handleSubmitButtonAction"
:
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<GridPane fx:controller="GUIController.AccueilController"
xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
...
<HBox spacing="10" alignment="bottom_right"
GridPane.columnIndex="1" GridPane.rowIndex="4">
<Button text="Se connecter" onAction="#handleSubmitButtonAction"/>
</HBox>
...
</GridPane>
該錯誤是由發送說:「處理方法不可訪問。公開或用@FXML註釋」
這裏是AccueilController.java文件:
package GUIController;
import java.awt.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.text.Text;
public class AccueilController {
@FXML private Text actiontarget;
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
actiontarget.setText("Sign in button pressed");
}
}
正如你所看到的,@FXML標籤已被添加,所以我不知道問題出在哪裏。這可能有點愚蠢,但我真的無法弄清楚。
順便說一句,沒有onAction行,代碼工作完美。
謝謝你們!
將protected void handleSubmitButtonAction更改爲公共方法 –
這不會更改任何內容。 – Xema