java - 如何将 String 转换为 TextField、javaFX。从孩子班
问题描述
我想为 Faculty 类(FacultyApp 的子类)创建一个对象,我可以在其中输入一些值
错误:不兼容的类型:字符串无法转换为 TextField Faculty Faculty = new Faculty(" ", " ", " ");
FXMLDocumentController
公共类 FXMLDocumentController 实现 Initializable {
private Label label;
@FXML
private TextField employeeName;
@FXML
private TextField employeeTitle;
@FXML
private TextField emailAddress;
@FXML
private Button SaveButton;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
public void setNAME(TextField employeeName) {
employeeName.getText();
}
public void setADDRESS(TextField emailAddress) {
emailAddress.getText();
}
public void setTITLE(TextField employeeTitle) {
employeeTitle.getText();
}
@FXML
private void saveInfo(ActionEvent event) {
Faculty faculty = new Faculty(" ", " ", " ");
String textField = new TextField().toString();
faculty.setNAME(employeeName);
faculty.setADDRESS(emailAddress);
faculty.setTITLE(employeeTitle);
String message = "YOUR INPUT HAS BEEN SAVED";
Alert a = new Alert(AlertType.INFORMATION);
a.setContentText(message +"\nEmployee Name: "+employeeName +"\nEmployee Title: "+ employeeTitle +"\nEmail Address: " + emailAddress);
a.show();
}
}
childClass from MainClass
public class Faculty extends FacultyApp{ private TextField title, name, address;
public Faculty (TextField employeeName, TextField emailAddress, TextField employeeTitle){
title = employeeTitle;
name = employeeName;
address = emailAddress;
}
public void setNAME(TextField employeeName) {
name = employeeName;
}
public TextField getNAME(){
return name;
}
public void setADDRESS(TextField emailAddress) {
address = emailAddress;
}
public TextField getADDRESS(){
return address;
}
public void setTITLE(TextField employeeTitle) {
title = employeeTitle;
}
public TextField getTITLE(){
return title;
}
}
解决方案
您的Faculty
类的构造函数需要 3 个类型的参数TextField
,但您试图传递 3 个String
对象。
既然你使用了setter,为什么不删除当前的构造函数并Faculty
使用默认构造函数创建一个新的对象呢?
所以从Faculty
类中删除它:
public Faculty (TextField employeeName, TextField emailAddress, TextField employeeTitle){
title = employeeTitle;
name = employeeName;
address = emailAddress;
}
而在FXMLDocumentController
变化中
Faculty faculty = new Faculty(" ", " ", " ");
进入
Faculty faculty = new Faculty();
推荐阅读
- python - 将列表中的每个元素与下一个元素进行比较
- javascript - 如何使用 prev 和 next 按钮遍历带有嵌套下拉菜单的 Bootstrap 选项卡式导航菜单?
- javascript - 如何让用户选择的背景图像保持不变
- android - 协程和 Firebase:如何实现类似 Javascript 的 Promise.all()
- rhel - Forgerock - Forgeops - util - 使用 RHEL 构建?
- python - 使用箭头键移动 pygame 目标图像(范围)的问题
- javascript - 如果较低的 div 包含特定文本,则将 DIV 隐藏在另一个 div 上方几级
- material-ui - 使用 Material-UI,最新的 Next.js 9 实现示例具有无样式的内容
- azure - 如何使用 Azure 应用服务 /web 别名?
- sql-server - 如何在 SQL Server 中使用 PATINDEX?