Я создаю свое первое приложение GUI. У меня есть класс называется User и у меня есть экземпляр этого класса под названием NEWUSER и я создал и инициализировать его в newGameController.java (User newUser = new User(username);
, но я хотел бы использовать его в mainScreenController как хорошо, но я получаю ошибку cannot resolve symbol 'newUser'
не может решить символ 'newUser'
Я не «Я действительно понимаю, как работает MVC, и я считаю, что у меня есть главный недостаток дизайна, может кто-нибудь помочь мне в том, как сделать это, чтобы я мог использовать один объект в двух контроллерах или альтернативах? Вот мой код ниже.
User.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;
}
}
newGameController.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)
{
}
}
mainscreenController.java
package sample;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import java.net.URL;
import java.util.ResourceBundle;
public class mainscreenController implements Initializable {
@FXML
private Label name;
@Override
public void initialize(URL url, ResourceBundle rb) {
name.setText(newUser.getName());
}
}
Я вижу, как я могу связать два, когда два контроллера не связаны? – user1666375
Смотрите это сообщение: http://stackoverflow.com/questions/27965401/passing-parameters-between-two-javafx-controllers. –