Java 将标签绑定到StringProperty时获取语法错误
我刚刚开始学习javafx,我正在尝试制作一个简单的应用程序,在这个应用程序中,您可以输入一个文本字段,同时通过标签将其显示出来。 这是主要课程Java 将标签绑定到StringProperty时获取语法错误,java,javafx,bind,Java,Javafx,Bind,我刚刚开始学习javafx,我正在尝试制作一个简单的应用程序,在这个应用程序中,您可以输入一个文本字段,同时通过标签将其显示出来。 这是主要课程 package testing; import java.io.IOException; import javafx.application.Application; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import j
package testing;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class testing extends Application {
private Stage primaryStage;
private BorderPane RootLayout;
@Override
public void start(Stage primaryStage) {
this.primaryStage=primaryStage;
this.primaryStage.setTitle("First Application");
initRootLayout();
initProjectTest();
}
public static void main(String[] args) {
launch(args);
}
public Stage getPrimaryStage() {
return primaryStage;
}
public void initRootLayout() {
try{ FXMLLoader loader=new FXMLLoader();
loader.setLocation(testing.class.getResource("view/RootLayout.fxml"));
RootLayout=(BorderPane)loader.load();
primaryStage.setScene(new Scene(RootLayout));
primaryStage.show();
}
catch(IOException e) {
e.printStackTrace();
}
}
public void initProjectTest() {
try {
FXMLLoader loader=new FXMLLoader();
loader.setLocation(testing.class.getResource("view/ProjectTest.fxml"));
AnchorPane ProjectTest=(AnchorPane)loader.load();
RootLayout.setCenter(ProjectTest);
}
catch(IOException e) {
e.printStackTrace();
}
}
}
这是控制器类
package testing.view;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class ProjectTestController {
@FXML
private Label label1=new Label();
@FXML
private TextField textfield1=new TextField();
label1.textProperty().bind(textfield1.textProperty());
}
如果我尝试通过一个按钮来实现它,每次单击按钮时文本都会更新(通过
onAction
函数),那么代码工作正常。但是,当我尝试绑定时,会出现语法错误。我试图寻找答案,但没有一个有语法错误你可以在你的标签
和文本字段
的实例,但它们用FXML
注释。不要这样做。假设在FXML文件中有相应的fx:id
属性,这些字段将由fxmloader
注入。我建议你读一读。@Slaw谢谢。似乎我也需要学习java,因为我的基础知识还不清楚。在我创建了一个initialize方法之后,它就工作了。您有推荐的学习java的资源吗?是的,我的标签在FXMl文件中有FXID属性,但我手动创建了实例,因为我在某个地方读到它可能导致空指针异常。现在我明白了,当这个人没有链接到标签的FXML文件时,情况就是这样。再次感谢。一个简单的“Java教程”谷歌搜索会给你很多结果。例如,有一个网站。还有Oracle自己发布的教程:。Oracle教程仅更新为Java 8;我不知道这一点。