我調整了我的控制器構造函數和fxml,以便fxml的所有設置都在fxml中,FXML構造和fxml加載除外。這裏是我的控制器:爲什麼我在加載我的fxml時得到一個stackoverflow?
public class MainOverviewTab extends Tab {
@FXML private AnchorPane content;
public MainOverviewTab() {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("main_overview_tab.fxml"));
// fxmlLoader.setRoot(content);
// fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (Exception e) {
e.printStackTrace();
}
}
和我FXML文件:
<AnchorPane id="AnchorPane"
fx:id="content"
fx:controller="dominion.application.controller.MainOverviewTab"
...other settings >
<children>
....
</children>
</AnchorPane>
當fxmlLoader.load()被調用時的計算器並回到FXMLLoader fxmlLoader =新FXMLLoader(...)然後再調用fxmlLoader.load()...爲什麼會發生這種情況,以及如何保持我的控制器構造函數相同並加載fxml相同?或者這是不可能的?
[這個答案](http://stackoverflow.com/a/11297531/180100)可能會幫助 – 2013-12-11 06:11:37