2017-03-17 78 views
0

我在Controller.java以下代码:JavaFX的:听widthProperty变化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是无效的方法声明。有谁知道如何解决这个问题。

+0

您可以将您正在使用的导入添加到问题中的代码中吗?包含整个控制器,如果它不是太多的代码。 –

+0

我添加了整个controller.java – Mornie

+0

你在复制和粘贴时犯了一些错误。该代码不在方法中。 –

回答

1

下面的代码块需要在构造函数中去或初始化控制器的方法通过的IntelliJ予以确认:

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

}); 

因为报表需要显示的代码块内的IntelliJ无法识别。

+0

谢谢,这解决了我的错误。 – Mornie