小编The*_*ude的帖子

JavaFX - getScene()返回null

我刚开始使用JavaFX Scene Builder来构建一个小应用程序.

它由一个属于'login.fxml'的控制器类'Login.java'组成,其中FXML文件'registrierung.fxml'通过一个名为'registrationClicked(ActionEvent event)'的方法加载:

public class Login {

@FXML
private void registrationClicked(ActionEvent event){
    try{
        ((Node) (event.getSource())).getScene().getWindow().hide();
        FXMLLoader loader = new FXMLLoader(getClass().getResource("/view/fxml/registrierung.fxml"));
        Parent root = (Parent) loader.load();
        Stage stage = new Stage();
        Scene scene = new Scene(root);      
        stage.setTitle("Registration");
        stage.setScene(scene);
        stage.setResizable(false);
        stage.show();
    } catch(IOException e){
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想通过根节点vboxRoot在控制器类'Registrierung.java'中引用'registrierung.fxml'的阶段:

@FXML
private VBox vboxRoot;

Stage stage = (Stage) vboxRoot.getScene().getWindow();
Run Code Online (Sandbox Code Playgroud)

但是'getScene()'总是会导致NullPointerException.在Scene Builder中调整两个FXML文件的控制器类.

这就是我在'registrierung.fxml'中设置rood节点的方法:

<VBox fx:id="vboxRoot" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="267.0" prefWidth="355.0" stylesheets="@../css/styles.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="businesslogik.Registrierung">
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java nullpointerexception javafx-8

14
推荐指数
2
解决办法
1万
查看次数

AngularJS - 通过$ httpBackend模拟数据有什么意义?

我刚开始通过Jasmine在AngularJS中编写我的第一个单元测试.

不知怎的,我仍然不明白为什么我应该嘲笑$ httpBackend.为了弄清楚我还不清楚什么,我会写一个小例子:

想象一下,我有一个从URL获取数据的服务 (myService):

 function getData() {
    return $http.get("http://example.com/data")
       .then(function (response) {
          return response.data;
        });
 }
Run Code Online (Sandbox Code Playgroud)

假设对URL" http://example.com/data " 的GET调用返回以下数据:

{
    firstname: "John",
    lastname: "Doe"
}
Run Code Online (Sandbox Code Playgroud)

相应的测试看起来像这样:

describe("Service: myService", function () {

    beforeEach(module("myApp"));

    var myService, $httpBackend;

    beforeEach(inject(function (_myService_, _$httpBackend_) {
        myService = _myService_;
        $httpBackend = _$httpBackend_;
    }));

    afterEach(function () {
        $httpBackend.verifyNoOutstandingExpectation();
        $httpBackend.verifyNoOutstandingRequest();
    });

    it("should get data", function() {
        var mockData = {datakey: "datavalue"};
        $httpBackend.whenGET("http://example.com/data").respond(mockData);

        var promise = myService.getData();
        $httpBackend.flush();

        promise.then(function(response){
            expect(response).toEqual(mockData)
        });
    }) …
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine angularjs httpbackend

6
推荐指数
1
解决办法
746
查看次数

如何在AngularJS中生成HMAC-SHA256?

如何在AngularJS中生成HMAC-SHA256签名?

我找不到有关这个主题的任何消息来源.

javascript restful-authentication sha256 hmac angularjs

2
推荐指数
1
解决办法
3363
查看次数