资源文件夹中的Netbeans设计器和.form文件

资源文件夹中的Netbeans设计器和.form文件,netbeans,Netbeans,通常,项目布局是src/main/java包含.java文件,src/main/resources包含资源。因此,*.form文件应该被放入资源中。但是,NetBeans找不到它们 是否可以让NetBeans从其他文件夹加载相应的.form文件 也许,我理解的src/main/java是错误的,.form也应该放进去 同一文件夹 不同文件夹 什么是.form文件 发件人: .form文件是一个XML文件,可视化编辑器使用该文件存储有关GUI表单的信息。它比从源代码中读取信息可靠得多。您不需要随

通常,项目布局是
src/main/java
包含
.java
文件,
src/main/resources
包含资源。因此,
*.form
文件应该被放入
资源中。但是,NetBeans找不到它们

是否可以让NetBeans从其他文件夹加载相应的.form文件

也许,我理解的
src/main/java
是错误的,
.form
也应该放进去

同一文件夹

不同文件夹

什么是.form文件 发件人:

.form文件是一个XML文件,可视化编辑器使用该文件存储有关GUI表单的信息。它比从源代码中读取信息可靠得多。您不需要随应用程序一起分发.form文件;它仅由IDE使用。但是,如果要在表单编辑器中再次打开表单,则应保留该文件

目录布局 事实上,maven项目的标准目录由java文件的
src/main/java
和资源的
src/main/resources
组成。但这只适用于maven项目

基于ant的项目使用不同的布局,通常将属性文件和其他文件放置在源目录中,但可以使用任何自定义的资源位置,包括包中的子目录

为.forms文件使用其他文件夹 不幸的是,无法将它们与相关的“兄弟”文件分开,见下文。它们结合得太紧密了。例如,如果查看项目树视图,如果同一目录中有相关的java文件,NetBeans将隐藏.form文件

让我们看一下源代码,这正是一个方法
findPrimaryFile
,用于查找:

它调用
findBrother
方法来查找适当的
.form
java
文件,并始终在相同的中查找“兄弟”文件:

  protected FileObject findPrimaryFile(FileObject fo) {
        if (fo.isFolder()) return null;
        String ext = fo.getExt();
        if (ext.equals(FORM_EXTENSION))
            return FileUtil.findBrother(fo, JAVA_EXTENSION);

        FileObject javaFile = findJavaPrimaryFile(fo);
        return javaFile != null
                    && FileUtil.findBrother(javaFile, FORM_EXTENSION) != null ?
            javaFile : null;
    }
public static FileObject findBrother(FileObject fo, String ext) {
    if (fo == null) {
        return null;
    }

    FileObject parent = fo.getParent();

    if (parent == null) {
        return null;
    }
    return parent.getFileObject(fo.getName(), ext);
}