模型可以随Java的class文件一起打包到Jar中,所以可以把模型文件放到src目录下。
如果是Maven项目,建议把模型放到src/main/resources目录下,避免和Java代码混在一起,毕竟模型大部分时候是通过编辑器编辑的。
也可以选择把模型放到单独目录下,比如创建一个名为things的目录,然后把模型放到该目录下。
X-Meta引擎是使用Java编写的,所以通过代码启动编辑器便于调试。因为如果使用外部的编辑器编辑,那么就不能调试项目中的Java代码了。
import java.io.File;
import org.xmeta.Thing;
import org.xmeta.World;
public class RunThingExplorer {
public static void main(String[] args){
try{
//X-Meta引擎是单实例的
World world = World.getInstance();
//初始化引擎,参数是模型库的目录,如果为null那么通过XMETA_HOME或XWORKER_HOME环境变量获取模型库的位置
world.init(null);
//事物管理器是用项目的方式编辑模型的,所以需要把模型所在的目录作为项目加入
//参数分别为:
//1.项目名称,不要和XWorker中已有的项目名相同
//2.事物模型所在的目录。
//3.是否包含things目录,即模型实际是放在things子目录下的。
//4.是否把项目添加到最前端,一般设为true。
world.addFileThingManager("myproject", new File("./src/main/resources/"), false, true);
//启动事物管理器
Thing worldExplorer = World.getInstance().getThing("xworker.ide.worldExplorer.swt.SimpleExplorerRunner");
worldExplorer.doAction("run");
}catch(Exception e){
e.printStackTrace();
}
}
}
import org.xmeta.ActionContext;
import org.xmeta.Thing;
import org.xmeta.World;
public class RunEditor {
public static void main(String args[]){
try{
//X-Meta引擎是单实例的
World world = World.getInstance();
//初始化引擎,参数是模型库的目录,如果为null那么通过XMETA_HOME或XWORKER_HOME环境变量获取模型库的位置
world.init(null);
//获取简单事物编辑器,简单事物编辑器
Thing thingEditor = world.getThing("xworker.swt.xwidgets.prototypes.SimpleThingEditor");
ActionContext actionContext = new ActionContext();
//执行简单事物编辑器
thingEditor.doAction("run", actionContext);
}catch(Exception e){
e.printStackTrace();
}
}
}
简单事物编辑器只编辑工作目录下的模型和文件,所以需要设置模型所在的根目录为它的工作目录,在Eclipse里设置方法如下。

如上图,在Eclipse的运行配置中手工设置工作目录,把工作目录指向模型所在的目录。
Copyright © 2007-2014 XWorker.org 版权所有