QtJniTypes::JObject Class
template <typename Type> class QtJniTypes::JObjectLe modèle JObject de l'espace de noms QtJniTypes constitue la base des types Java déclarés. En savoir plus...
| En-tête : | #include <qjniobject.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
| Depuis : | Qt 6.8 |
Fonctions publiques
| JObject() | |
| JObject(QJniObject &&other) | |
| JObject(const QJniObject &other) | |
| JObject(jobject other) | |
| JObject(const QtJniTypes::JObject<Type> &other) | |
| JObject(QtJniTypes::JObject<Type> &&other) | |
| ~JObject() | |
| 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 |
| QtJniTypes::JObject<Type> & | operator=(QtJniTypes::JObject<Type> &&other) |
| QtJniTypes::JObject<Type> & | operator=(const QtJniTypes::JObject<Type> &other) |
Membres publics statiques
| 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) |
Description détaillée
JObject<Type> est une classe de modèle dans laquelle Type spécifie le type Java représenté.
Ce modèle est spécialisé lors de l’utilisation de la macro ` Q_DECLARE_JNI_CLASS `. La spécialisation génère un type unique dans l’espace de noms ` QtJniTypes `. Cela permet au système de types de déduire la signature correcte dans les appels JNI lorsqu’une instance du type spécialisé est passée en paramètre.
Les instances peuvent être converties implicitement vers et depuis les types ` QJniObject ` et `jobject`, et fournissent la même API de modèle que ` QJniObject ` pour appeler des méthodes et accéder aux propriétés. Étant donné que les instances de `JObject` connaissent le type Java qu’elles contiennent, les API permettant d’accéder aux méthodes ou aux champs statiques ne nécessitent pas le nom de la classe en tant que paramètre explicite.
Voir également Q_DECLARE_JNI_CLASS.
Documentation sur les fonctions membres
JObject::JObject()
Construit par défaut l'instance JObject. Cela construit également par défaut une instance du type Java représenté.
[noexcept] JObject::JObject(QJniObject &&other)
Crée une instance de JObject à partir de other.
JObject::JObject(const QJniObject &other)
Crée une instance de JObject contenant une référence au même objet que other.
JObject::JObject(jobject other)
Crée une instance de JObject contenant une référence à other.
[default] JObject::JObject(const QtJniTypes::JObject<Type> &other)
Crée une instance de ` JObject` par copie.
[noexcept default] JObject::JObject(QtJniTypes::JObject<Type> &&other)
Crée par « move » une instance de ` JObject`.
[default] JObject::~JObject()
Supprime l'instance de ` JObject`.
template <typename Ret = void, typename... Args> auto JObject::callMethod(const char *method, Args &&... args) const
Appelle la méthode d'instance ` method ` avec les arguments ` args`, et renvoie le résultat de type `Ret` (à moins que `Ret` ne soit de type ` void`). Si `Ret` est de type `jobject`, la valeur renvoyée sera un ` QJniObject`.
Voir également QJniObject::callMethod().
[static] template <typename Ret = void, typename... Args> auto JObject::callStaticMethod(const char *methodName, Args &&... args)
Appelle la méthode statique ` methodName ` avec les arguments ` args`, et renvoie le résultat de type `Ret` (à moins que `Ret` ne soit de type ` void`). Si `Ret` est un type `jobject`, la valeur renvoyée sera un ` QJniObject`.
Voir également QJniObject::callStaticMethod().
QByteArray JObject::className() const
Renvoie le nom de la classe Java dont cet objet est une instance.
Voir également objectClass() et QJniObject::className().
[static] template <typename... Args> QtJniTypes::JObject<Type> JObject::construct(Args &&... args)
Crée un objet Java à partir d'args et renvoie une instance de ` JObject ` contenant une référence à cet objet Java.
[static] QtJniTypes::JObject<Type> JObject::fromJObject(jobject object)
Crée une instance de ` JObject ` à partir de ` object ` et renvoie cette instance.
[static] QtJniTypes::JObject<Type> JObject::fromLocalRef(jobject ref)
Crée un objet ` JObject ` contenant une référence locale à ` ref`, puis renvoie cet objet.
template <typename T> auto JObject::getField(const char *field) const
Renvoie la valeur du champ d'instance ` field`.
Voir aussi QJniObject::getField().
[static] template <typename T> auto JObject::getStaticField(const char *field)
Renvoie la valeur du champ statique ` field`.
Voir aussi QJniObject::getStaticField().
[static] bool JObject::isClassAvailable()
Indique si la classe représentée par cette spécialisation de ` JObject ` est disponible.
Voir aussi QJniObject::isClassAvailable().
bool JObject::isValid() const
Indique si l'instance de ` JObject ` contient une référence valide à un `jobject`.
Voir aussi QJniObject::isValid().
jclass JObject::objectClass() const
Renvoie la classe Java dont cet objet JObject est une instance, sous forme de jclass.
Voir également ` className()` et ` QJniObject::objectClass()`.
[static] bool JObject::registerNativeMethods(std::initializer_list<JNINativeMethod> methods)
Enregistre les méthodes Java dans ` methods ` avec la classe Java représentée par la spécialisation ` JObject `, et indique si l'enregistrement a abouti.
Voir également QJniEnvironment::registerNativeMethods().
template <typename Ret = void, typename T> auto JObject::setField(const char *field, T &&value)
Définit la valeur du champ d'instance ` field ` sur ` value`.
Voir également QJniObject::setField().
[static] template <typename Ret = void, typename T> auto JObject::setStaticField(const char *field, T &&value)
Définit le champ statique ` field ` sur ` value`.
Voir également QJniObject::setStaticField().
QString JObject::toString() const
Renvoie un objet ` QString ` contenant une représentation sous forme de chaîne de caractères de l'objet Java.
Voir aussi QJniObject::toString().
[noexcept default] QtJniTypes::JObject<Type> &JObject::operator=(QtJniTypes::JObject<Type> &&other)
Cette opération attribue l'other à cette instance JObject.
[default] QtJniTypes::JObject<Type> &JObject::operator=(const QtJniTypes::JObject<Type> &other)
Copie et attribue l'other à cette instance d'JObject.
© 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.