Javafx:在Controller.java中监听widthProperty更改

时间:2017-03-17 16:34:16

标签: java javafx

我在Controller.java中有以下代码:

package sample;


import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.scene.control.TabPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

import java.awt.*;
import java.net.URL;
import java.util.ResourceBundle;

public class Controller{
@FXML
HBox fontBox;

Stage stage = (Stage) fontBox.getScene().getWindow();
Scene scene = stage.getScene();

scene.widthProperty().addListener((obs, oldVal, newVal) -> {
    stage.setTitle(newVal.toString()); //test
    int newSize = Integer.parseInt(newVal.toString());

});

}

IntelliJ不识别widthProperty,并说addListener是无效的方法声明。有谁知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

下面的代码块需要进入控制器的构造函数或初始化方法才能被Intellij识别:

scene.widthProperty().addListener((obs, oldVal, newVal) -> {
    stage.setTitle(newVal.toString()); //test
    int newSize = Integer.parseInt(newVal.toString());

});

Intellij无法识别它,因为语句需要出现在代码块中。

相关问题