资源文件夹中的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);
}