QtJniTypes::JObject Class
template <typename Type> class QtJniTypes::JObjectQtJniTypes 네임스페이스의 JObject 템플릿은 선언된 Java 유형의 기반입니다. 더 보기...
| 헤더: | #include <JObject> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| 이후: | Qt 6.8 |
공용 함수
| JObject() | |
| JObject(QJniObject &&other) | |
| JObject(const QJniObject &other) | |
| JObject(jobject other) | |
| auto | callMethod(const char *method, Args &&... args) const |
| QByteArray | className() const |
| auto | getField(const char *field) const |
| bool | isValid() const |
| jclass | objectClass() const |
| auto | setField(const char *field, T &&value) |
| QString | toString() const |
정적 공용 멤버
| auto | callStaticMethod(const char *methodName, Args &&... args) |
| QtJniTypes::JObject<Type> | construct(Args &&... args) |
| QtJniTypes::JObject<Type> | fromJObject(jobject object) |
| QtJniTypes::JObject<Type> | fromLocalRef(jobject ref) |
| auto | getStaticField(const char *field) |
| bool | isClassAvailable() |
| bool | registerNativeMethods(std::initializer_list<JNINativeMethod> methods) |
| auto | setStaticField(const char *field, T &&value) |
상세 설명
이 템플릿은 Q_DECLARE_JNI_CLASS 매크로를 사용할 때 특수화됩니다. 이 특수화는 QtJniTypes 네임스페이스에서 고유한 유형을 생성합니다. 이를 통해 유형 시스템은 특수화된 유형의 인스턴스가 매개변수로 전달될 때 JNI 호출에서 올바른 서명을 추론할 수 있습니다.
인스턴스는 QJniObject 및 jobject로 암시적으로 변환될 수 있으며, 메서드를 호출하고 프로퍼티에 액세스하기 위해 QJniObject 과 동일한 템플릿 API를 제공합니다. JObject의 인스턴스는 자신이 보유한 Java 유형을 알고 있으므로 정적 메서드나 필드에 액세스하는 API에는 명시적 매개 변수로 클래스 이름이 필요하지 않습니다.
Q_DECLARE_JNI_CLASS 를참조하세요 .
멤버 함수 문서
JObject::JObject()
기본적으로 JObject 인스턴스를 생성합니다. 또한 기본적으로 표현된 Java 유형의 인스턴스를 생성합니다.
[noexcept] JObject::JObject(QJniObject &&other)
Move - other 에서 JObject 인스턴스를 생성합니다.
JObject::JObject(const QJniObject &other)
other 와 동일한 잡젝트에 대한 참조를 보유하는 잡젝트 인스턴스를 생성합니다.
JObject::JObject(jobject other)
other 에 대한 참조를 보유하는 JObject 인스턴스를 생성합니다.
template <typename Ret = void, typename... Args> auto JObject::callMethod(const char *method, Args &&... args) const
인자 args 을 사용하여 인스턴스 메서드 method 를 호출하고 Ret 타입의 결과를 반환합니다( Ret 이 void 인 경우 제외). Ret 가 잡젝트 유형인 경우 반환되는 값은 QJniObject 입니다.
QJniObject::callMethod()도 참조하세요 .
[static] template <typename Ret = void, typename... Args> auto JObject::callStaticMethod(const char *methodName, Args &&... args)
인자 args 을 사용하여 정적 메서드 methodName 를 호출하고 Ret 타입의 결과를 반환합니다( Ret 이 void 인 경우 제외). Ret 이 잡젝트 유형인 경우 반환되는 값은 QJniObject 입니다.
QJniObject::callStaticMethod()도 참조하세요 .
QByteArray JObject::className() const
이 객체가 인스턴스인 Java 클래스의 이름을 반환합니다.
objectClass() 및 QJniObject::className()도 참조하세요 .
[static] template <typename... Args> QtJniTypes::JObject<Type> JObject::construct(Args &&... args)
args 에서 Java 객체를 생성하고 해당 Java 객체에 대한 참조가 있는 JObject 인스턴스를 반환합니다.
[static] QtJniTypes::JObject<Type> JObject::fromJObject(jobject object)
object 에서 JObject 인스턴스를 생성하고 해당 인스턴스를 반환합니다.
[static] QtJniTypes::JObject<Type> JObject::fromLocalRef(jobject ref)
ref 에 대한 로컬 참조를 보유하는 JObject 를 생성하고 해당 객체를 반환합니다.
template <typename T> auto JObject::getField(const char *field) const
인스턴스 필드의 값을 반환합니다 field.
QJniObject::getField()도 참조하세요 .
[static] template <typename T> auto JObject::getStaticField(const char *field)
정적 필드의 값을 반환합니다 field.
QJniObject::getStaticField()도 참조하세요 .
[static] bool JObject::isClassAvailable()
이 JObject 전문화가 나타내는 클래스를 사용할 수 있는지 여부를 반환합니다.
QJniObject::isClassAvailable()도 참조하세요 .
bool JObject::isValid() const
JObject 인스턴스가 작업 객체에 대한 유효한 참조를 보유하고 있는지 여부를 반환합니다.
QJniObject::isValid()도 참조하세요 .
jclass JObject::objectClass() const
JObject 이 인스턴스인 Java 클래스를 jclass로 반환합니다.
className() 및 QJniObject::objectClass()도 참조하세요 .
[static] bool JObject::registerNativeMethods(std::initializer_list<JNINativeMethod> methods)
JObject 전문화로 표시되는 Java 클래스로 methods 에 Java 메서드를 등록하고 등록 성공 여부를 반환합니다.
QJniEnvironment::registerNativeMethods()도 참조하세요 .
template <typename Ret = void, typename T> auto JObject::setField(const char *field, T &&value)
인스턴스 필드 field 의 값을 value 로 설정합니다.
QJniObject::setField()도 참조하세요 .
[static] template <typename Ret = void, typename T> auto JObject::setStaticField(const char *field, T &&value)
정적 필드 field 를 value 로 설정합니다.
QJniObject::setStaticField()도 참조하세요 .
QString JObject::toString() const
Java 객체의 문자열 표현이 포함된 QString 을 반환합니다.
QJniObject::toString()도 참조하세요 .
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.