方法中创建的对象不可用



我是第一次为学校项目使用JavaFX,所以很有可能我做了一些明显的错误。

在我的控制器类中,我有一个方法(customerSU),它创建了一个新的Customer和Lesson对象,我的其他方法使用这些新的Customer和Lesson对象有一个错误'无法解析符号'cust1'。

package sample;
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.TextField;
import javafx.stage.Stage;
import javax.swing.*;
import java.io.IOException;
public class Controller {
@FXML
Button btn1Home, btn2Home, btn1SHome, btn1THome, btnStudentSU, btn1SHHome, btnBookLesson, btnAttendLesson, btnCancelLessons;
public void homeToSHome() throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("StudentSignIn.fxml"));
Stage window = (Stage) btn1Home.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void homeToTHome() throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("TutorSignIn.fxml"));
Stage window = (Stage) btn2Home.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void SHomeToHome() throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("Home.fxml"));
Stage window = (Stage) btn1SHome.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void THomeToHome() throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("Home.fxml"));
Stage window = (Stage) btn1THome.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void SHHomeToHome()throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("Home.fxml"));
Stage window = (Stage) btn1SHHome.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void customerSU() throws IOException {
Customer cust1 = new Customer(SUFirstName.getText(), SUSurname.getText(), SUEmail.getText());
Lesson lesson1 = new Lesson();

Parent root = FXMLLoader.load(getClass().getResource("StudentHome.fxml"));
Stage window = (Stage) btnStudentSU.getScene().getWindow();
window.setScene(new Scene(root, 600, 400));
}
public void bookLesson() throws IOException {
String response;
response = JOptionPane.showInputDialog("Please enter the name of the lesson you wish to sign up for.");
lesson1.BookALesson(cust1, response);
}
public void attendLesson() throws  IOException {
lesson1.attendALesson();
}
public void customerLessonDetails() throws IOException {
lesson1.lessonDetails();
}
public void cancelLessons() throws IOException {
lesson1.cancelLessons();
}
}

谢谢你的帮助!

您不能从另一个方法访问在一个方法中声明的局部变量cust1。如果您想在不同的方法中使用它,请将其声明为类字段。

相关内容

  • 没有找到相关文章

最新更新