0

我在 javafx 场景构建器中设计了一个 UI,它在 stackpane 中有一个简单的按钮。我将控制器类命名为 simplecclass。我已将 fxml 保存为 simple.fxml。我在 netbeans 中创建了一个控制器类,它只是在单击按钮时打印一些消息。

在 NewFXBuilder java 中,我加载了 simple.fxml。请在下面找到 NewFXBuilder.java 代码。

package javafxapplication2;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.fxml.FXMLLoader;

public class NewFXbuilder extends Application {

    @Override
    public void start(Stage primaryStage) {
        try {
            StackPane page = (StackPane) FXMLLoader.load(NewFXbuilder.class.getResource("simple.fxml"));
            Scene scene = new Scene(page);
            primaryStage.setScene(scene);
            primaryStage.setTitle("FXML is Simple");
            primaryStage.show();
        } catch (Exception ex) {
            Logger.getLogger(NewFXbuilder.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public static void main(String[] args) {
        Application.launch(NewFXbuilder.class, (java.lang.String[])null);
  }
}

我的 simple.fxml、simplecclass.java 和 NewFXbuilder.java 都驻留在同一个文件夹 javafxapplication2 中。

在运行 NewFXBuilder.java 时,但它给了我以下错误。

javafxapplication2.NewFXbuilder 开始严重:空 javafx.fxml.LoadException:java.lang.ClassNotFoundException:simplecclass

4

2 回答 2

1

我犯的错误是忘记在场景构建器的控制器类名字段中添加java包名。它应该是 packagename.simplecclass 但我只给了 simplecclass,这是一个错误。

于 2013-02-28T08:55:07.760 回答
1

javafxapplication2.NewFXbuilder 开始严重:空 javafx.fxml.LoadException:java.lang.ClassNotFoundException:simplecclass

看起来像 FXML 文件中的问题。确保在 FXML 文件中导入 simplecclass。

于 2013-02-26T13:05:34.787 回答