Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring security 当我使用Spring Security和Javafx时,与@FXML连接的属性anotatted为null_Spring Security_Nullpointerexception_Javafx_Fxml - Fatal编程技术网

Spring security 当我使用Spring Security和Javafx时,与@FXML连接的属性anotatted为null

Spring security 当我使用Spring Security和Javafx时,与@FXML连接的属性anotatted为null,spring-security,nullpointerexception,javafx,fxml,Spring Security,Nullpointerexception,Javafx,Fxml,我正在开发一个启用了Spring安全性的Javafx应用程序。然后,我创建了一个fxml表单,它有一个id等于txtField的textField。后来我用@Secured anotation添加了一个方法,但是当我尝试将文本设置为textField时,我得到了一个NullPointerException 控制器类如下所示: @Controller public class ControladorInicio { @FXML private R

我正在开发一个启用了Spring安全性的Javafx应用程序。然后,我创建了一个fxml表单,它有一个id等于txtField的textField。后来我用@Secured anotation添加了一个方法,但是当我尝试将文本设置为textField时,我得到了一个NullPointerException

控制器类如下所示:



    @Controller
    public class ControladorInicio {
        @FXML
        private ResourceBundle resources;
        @FXML
        private URL location;
        @FXML
        public TextField textField;

        @FXML
        @Secured("ROLE_OFERTA_ADMIN")
        public void onButton3(ActionEvent event) {
            System.out.println("has permission");
        }

        @FXML
        public void initialize() {
            textField.setText("This is a text"); //I get a null pointer exception here
        }
    }


当我使用@Secured时,我怀疑javafx没有向控制器注入属性字段。但是,当我评论@Secured anotation时,一切都很好

如果在FXML上,您的textfield id等于txtField,当您想要使用它时,您不需要写入

@FXML
private TextField txtField;

使用与fxml id相同的名称。否则它将不起作用。

该方法需要正确的签名

@FXML
    public void initialize(javafx.event.ActionEvent evt) {
        textField.setText("This is a text"); //I get a null pointer exception here
    }

在fxml中,确保设置了字段“fx:id”。字段“id”似乎是CSS id。

您是否尝试将字段公开?FXMLLoader必须通过反射使内容可访问,也许这就是失败的原因?很抱歉,这必须与aop自调用问题有关。这不是JavaFX错误。最近很抱歉,但当我提出这个问题时,我不知道这个错误。不,这不是问题所在
initialize()
是FXML控制器初始化逻辑的正确签名,FXMLLoader将检测该方法,并在加载FXML文件时在控制器上调用该方法。ActionEvent参数对于动作事件处理程序是必需的,但这与textField本身是否正确注入控制器无关,这正是问题所在。