QtJniTypes::JObject Class
template <typename Type> class QtJniTypes::JObjectLa plantilla JObject del espacio de nombres QtJniTypes es la base de los tipos Java declarados. Más...
| Cabecera: | #include <JObject> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Desde: | Qt 6.8 |
Funciones Públicas
| 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 |
Miembros públicos estáticos
| 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) |
Descripción Detallada
Esta plantilla se especializa cuando se utiliza la macro Q_DECLARE_JNI_CLASS. La especialización produce un tipo único en el espacio de nombres QtJniTypes. Esto permite al sistema de tipos deducir la firma correcta en las llamadas JNI cuando una instancia del tipo especializado se pasa como parámetro.
Las instancias se pueden convertir implícitamente a y desde QJniObject y jobject, y proporcionan la misma API de plantilla que QJniObject para llamar a métodos y acceder a propiedades. Dado que las instancias de JObject conocen el tipo Java que contienen, las API para acceder a métodos o campos estáticos no requieren el nombre de la clase como parámetro explícito.
Véase también Q_DECLARE_JNI_CLASS.
Documentación de funciones miembro
JObject::JObject()
Construye por defecto una instancia de JObject. Esto también construye por defecto una instancia del tipo Java representado.
[noexcept] JObject::JObject(QJniObject &&other)
Move-construye una instancia JObject a partir de other.
JObject::JObject(const QJniObject &other)
Construye una instancia de JObject que contiene una referencia al mismo jobject que other.
JObject::JObject(jobject other)
Construye una instancia de JObject que contiene una referencia a other.
template <typename Ret = void, typename... Args> auto JObject::callMethod(const char *method, Args &&... args) const
Llama al método de instancia method con argumentos args, y devuelve el resultado del tipo Ret (a menos que Ret sea void). Si Ret es un tipo jobject, entonces el valor devuelto será un QJniObject.
Véase también QJniObject::callMethod().
[static] template <typename Ret = void, typename... Args> auto JObject::callStaticMethod(const char *methodName, Args &&... args)
Llama al método estático methodName con argumentos args, y devuelve el resultado del tipo Ret (a menos que Ret sea void). Si Ret es un tipo jobject, entonces el valor devuelto será un QJniObject.
Véase también QJniObject::callStaticMethod().
QByteArray JObject::className() const
Devuelve el nombre de la clase Java de la que este objeto es una instancia.
Véase también objectClass() y QJniObject::className().
[static] template <typename... Args> QtJniTypes::JObject<Type> JObject::construct(Args &&... args)
Construye un objeto Java a partir de args y devuelve una instancia de JObject que contiene una referencia a ese objeto Java.
[static] QtJniTypes::JObject<Type> JObject::fromJObject(jobject object)
Construye una instancia de JObject a partir de object y la devuelve.
[static] QtJniTypes::JObject<Type> JObject::fromLocalRef(jobject ref)
Construye un JObject que contiene una referencia local a ref, y devuelve ese objeto.
template <typename T> auto JObject::getField(const char *field) const
Devuelve el valor del campo de instancia field.
Véase también QJniObject::getField().
[static] template <typename T> auto JObject::getStaticField(const char *field)
Devuelve el valor del campo estático field.
Véase también QJniObject::getStaticField().
[static] bool JObject::isClassAvailable()
Devuelve si la clase que representa esta especialización JObject está disponible.
Véase también QJniObject::isClassAvailable().
bool JObject::isValid() const
Devuelve si la instancia JObject contiene una referencia válida a un jobject.
Véase también QJniObject::isValid().
jclass JObject::objectClass() const
Devuelve la clase Java de la que este JObject es una instancia como jclass.
Véase también className() y QJniObject::objectClass().
[static] bool JObject::registerNativeMethods(std::initializer_list<JNINativeMethod> methods)
Registra los métodos Java en methods con la clase Java representada por la especialización JObject, y devuelve si el registro se ha realizado correctamente.
Véase también QJniEnvironment::registerNativeMethods().
template <typename Ret = void, typename T> auto JObject::setField(const char *field, T &&value)
Establece el valor del campo de instancia field en value.
Véase también QJniObject::setField().
[static] template <typename Ret = void, typename T> auto JObject::setStaticField(const char *field, T &&value)
Establece el campo estático field en value.
Véase también QJniObject::setStaticField().
QString JObject::toString() const
Devuelve un QString con una representación de cadena del objeto Java.
Véase también 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.