无法解析符号' newUser'

时间:2015-08-16 20:16:22

标签: java model-view-controller javafx javafx-8

我正在创建我的第一个GUI应用程序。我有一个类称为用户,我有一个类叫做NEWUSER的一个实例,我创建和初始化newGameController.java它(User newUser = new User(username);,但我想在mainScreenController使用它作为很好,但我得到的错误{{1 }}

我真的不明白MVC是如何工作的,我相信我有一个重大的设计缺陷,有人可以帮助我如何制作它,以便我可以在两个控制器或替代品中使用一个对象吗?以下是我的代码。

User.java

cannot resolve symbol 'newUser'

newGameController.java

package sample.model;

public class User {
    private String name;
    private double money;
    public User(String name) {
        this.name = name;
        money = 20000;
    }
    public String getName() {
        return name;
    }
}

mainscreenController.java

package sample;

import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import sample.model.User;

import java.io.IOException;


public class newGameController {

    @FXML
    private Label mainmessage;
    @FXML
    private TextField userid;
    @FXML
    private Button submit;

    @FXML
    private void handleButtonAction(ActionEvent event) throws IOException {
        try {
            Stage stage;
            Parent root;
            String username = userid.getText();
            User newUser = new User(username);

            stage = (Stage) submit.getScene().getWindow();
            root = FXMLLoader.load(getClass().getResource("mainscreen.fxml"));
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.show();

        }
        catch(NullPointerException e)
        {

        }

    }

1 个答案:

答案 0 :(得分:0)

在你的mainscreenController类中: -

name.setText(newUser.getName());

在上面的行中你指的是newUser,但是这个类不知道newUser的类型。由于您尚未在此类中声明此变量。

在顶部添加import sample.model.User语句并定义newUser对象的类型 在控制器和使用过的mainscreenController中初始化的newUser对象的关系看起来并不相关。

即使你在mainscreenController中声明newUser的类型,即User newUser;,它也会抛出NullPointerException。因为我没有看到它在mainscreenController中初始化。