尝试使用netbeans,javFX和MySQL创建Sql语句时遇到问题。这是我的主要方法:
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("Create Product");
Pane myPane = (Pane)FXMLLoader.load(getClass().getResource
("createProduct.fxml"));
Scene myScene = new Scene(myPane);
primaryStage.setScene(myScene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
我使用javaFX设计我的用户界面,并将整个面板存储为myPane,如上面的代码所示。这是我的createProduct.fxml。它只包含一个文本字段和一个按钮。
<AnchorPane id="AnchorPane" prefHeight="200.0" prefWidth="320.0" xmlns:fx="http://javafx.com/fxml" fx:controller="it2297proj.SampleController">
这是我的事件处理程序类。单击按钮时,它会将整个面板传递给CreateProductController。
public class SampleController implements Initializable {
private SampleController myPane = null;
@FXML
private void handleButtonAction(ActionEvent event) {
System.out.println("You clicked me!");
}
@FXML
private void createProduct(ActionEvent event){
CreateProductController controller = new CreateProductController();
boolean result = controller.create(myPane); //Error here
}
在我的CreateProductController类中,我只是简单地获取文本并将其传递给实体。
public class CreateProductController {
public boolean create(SampleController panel){
String name = panel.getnameTextField.getText();
}
}
但是,事件处理程序类中存在错误,boolean result = controller.create(myPane);这条线。错误消息是创建类型(示例控制器)类是错误的。我不知道为什么因为它在日食中工作正常。任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:0)
目前还不清楚您使用的是哪个版本的JavaFX,以及您正在尝试做什么。 JavaFX 2.2使创建自定义控制器变得非常简单。您可以直接从FXML或以编程方式将参数传递给它们。如果您使用的是2.2版,则可能会从阅读Creating a Custom Control with FXML中受益。您正在寻找的答案可能就在那里,尤其是关于FXMLLoaders的部分。
此thread也可能有所帮助。