Estoy realizando una aplicación que desde código nativo C++ se comunica con Java por medio de JNI.
Lo que necesito es levantar la JVM y lanzar una clase que me crea un panel AWT, el problema que tengo es que necesito que sea Modal, es decir, que mientras este el panel abierto, el usuario no pueda interectuar con mi aplicación...
hVM = ::LoadLibrary( jvmPath_ );
if (hVM == NULL)
{
return;
}
vm_args_.version = 0x00010002;
JNI_GETDEFAULTJAVAVMINITARGS initArgsVM = (JNI_GETDEFAULTJAVAVMINITARGS)JNU_GetDefaultArgsVM();
initArgsVM(&vm_args_);
vm_args_.classpath = "d:/aplib/s211/bin";
// carga dinamicacmente la libreria de java
JNI_CREATEJAVAVM createVM= (JNI_CREATEJAVAVM)JNU_FindCreateJavaVM();
res_ = createVM(&jvm_, (void**)&env_, &vm_args_);
if (res_ < 0)
{
RTS_TRACE0( jni_invoker_id , "Can't create Java VM");
return;
}
cls_ = env_->FindClass("DemoPanel");
//Esta llamada devuelve nulo
env_->GetStaticMethodID(cls_,"main","([Ljava/lang/String;)V");
Un saludo cALvET
PD: SI teneis información sobre JNI a ser posible en castellano me indicais link o me la pasais....