你能解释一下为什么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;
答案 0 :(得分:0)
以下是其中一个问题:
return MissionController.listView.getSelectionModel().getSelectedItem();
您可以访问listView
字段,就好像它是静态的一样,并且它不是 - 请注意单词MissionController中的大写字母,在这种情况下,您访问的是类,而不是missionController
字段,我猜你暗示。
第二个:你将非静态方法称为静态方法:
textLog.appendText(MainController.getMissionFromMissionController());
请注意此行中MainController的大写字母。如果您可能尝试访问该字段,它应该是一个小的。