我是第一次在学校项目中使用JavaFX,所以很可能我做了一些明显错误的事情。
在我的controller类中,我有一个方法(customerSU),它创建了一个新的Customer和Cleast对象,我使用这些新的Customer和Cleast对象的其他方法有一个错误“无法解析符号”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();
}
}
谢谢你的帮助!
正如我在评论中提到的,为什么这不起作用,这里有一个解决方案。在BookLesson()
方法中创建一个Customer实例,以便它能够识别您创建的实例
Customer cust1 = new Customer(SUFirstName.getText(), SUSurname.getText(), SUEmail.getText());
方法
public void bookLesson() throws IOException {
String response;
Customer cust1 = new Customer(SUFirstName.getText(), SUSurname.getText(), SUEmail.getText());
Lesson lesson1 = new Lesson();
response = JOptionPane.showInputDialog("Please enter the name of the lesson you wish to sign up for.");
lesson1.BookALesson(cust1, response);
}
我可以使用Powermock中的,但我想知道Spock有没有办法做到这一点。
我正在使用JAXB从XSD文件创建Java对象。我正在创建不可变包装器来隐藏由JAXB生成的对象(之前我更新了JAXB对象,以实现不可变接口并将接口返回给客户机。但意识到改变自动生成的类是不好的,因此使用包装器) 目前,我正在将这些不可变的包装返回到客户端应用程序。是否有任何选项,使自动生成的类将是不可变的,并避免创建不可变包装器的额外工作。任何其他方法都是鼓励的。 谢谢
本文向大家介绍js创建对象的方法汇总,包括了js创建对象的方法汇总的使用技巧和注意事项,需要的朋友参考一下 js一个有三种方法创建对象,这里做一个总结. 1.对象直接量 所谓对象直接量,可以看做是一副映射表,这个方法也是最直接的一个方法,个人比较建议, 有的人可能会发现,这里的键值名怎么没有引号”“,好细心,其实这个引号(单引双引号,js一样)加不加都行,但是个人建议加上,为什么能,因为加上之后,
本文向大家介绍javascript创建对象的3种方法,包括了javascript创建对象的3种方法的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了js创建对象的多种方法,分享个方法的优劣,具体内容如下 第一种创建对象的方式: 创建JSON对象 推荐使用的场合: 作为函数的参数,临时只用一次的场景。比如设置函数原型对象。 第二种创建对象的方式: 创建一个Object对象 以上两种创建对象方
本文向大家介绍Java创建对象的几种方法,包括了Java创建对象的几种方法的使用技巧和注意事项,需要的朋友参考一下 有时候,也可能碰到这样面试题,如: Java创建对象有哪几种方法? 除了new之外,java创建对象还有哪几种方式? 本文结合例子,给出几种Java创建对象的方法,Here we go~~~~ 使用new创建 这是最常用的一种。如: Book book = new Book(); 示
问题内容: 为什么第一种方法是正确的,但第二种方法却不正确? 第一种方式: 第二种方式: 在哪里可以找到有关它的更多信息? 问题答案: 没有声明的方法(2),而由类实例创建表达式 返回的匿名类则声明(1)。 使用Java 10的局部变量类型推断()使第二个选项与第一个选项一样有效。