0
獲取子Rectangle2D.Double成員之後通過JNI
import java.awt.geom.Rectangle2D;
class SomeJavaClass
{
public SomeJavaClass()
{
m_rect = new Rectangle2D.Double();
}
Rectangle2D.Double m_rect;
}
類和下面的C++假設代碼
jclass someJavaCls = env->FindClass("my/package/SomeJavaClass");
jfieldID rectID = env->GetFieldID(someJavaCls, "m_rect", "Ljava/awt/geom/Rectangle2D;");
的問題是,我不知道如何訪問fieldID爲m_rect
。通過以上GetFieldID
呼叫我得到
Exception in thread "Thread-2" java.lang.NoSuchFieldError: m_rect
而且如果我改變的GetFieldID
的簽名"Ljava/awt/geom/Rectangle2D/Double;"
我得到相同的異常。這是如何完成的?