2017-03-17 26 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