JavaFx:静态字段

时间:2016-08-28 11:38:02

标签: javafx static

你能解释一下为什么eclipse想让getMissionFromMissionController()变成静态的,如果我没有用静态单词注释listView的话? 每当我想创建此功能时,我都会遇到错误: "无法从类型MainController"

中对非静态方法getMissionFromMissionController()进行静态引用

LogPanelController:

public void printLog()
{
    textLog.appendText(MainController.getMissionFromMissionController());
}

MainController:

public  String getMissionFromMissionController() {

    return MissionController.listView.getSelectionModel().getSelectedItem();
}

Missionontroller领域:

@FXML private MainController mainController;

@FXML private Label missionsLabel;
@FXML public ListView<String> listView;
@FXML private TextArea textArea;

1 个答案:

答案 0 :(得分:0)

以下是其中一个问题:

return MissionController.listView.getSelectionModel().getSelectedItem();

您可以访问listView字段,就好像它是静态的一样,并且它不是 - 请注意单词MissionController中的大写字母,在这种情况下,您访问的是类,而不是missionController字段,我猜你暗示。

第二个:你将非静态方法称为静态方法:

textLog.appendText(MainController.getMissionFromMissionController());

请注意此行中MainController的大写字母。如果您可能尝试访问该字段,它应该是一个小的。