QtJniTypes::JObject Class
template <typename Type> class QtJniTypes::JObjectLe modèle JObject de l'espace de noms QtJniTypes est la base des types Java déclarés. Plus...
| En-tête : | #include <JObject> |
| 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) | |
| 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 |
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
Ce modèle est spécialisé lors de l'utilisation de la macro Q_DECLARE_JNI_CLASS. La spécialisation produit un type unique dans l'espace de noms QtJniTypes. Cela permet au système de type 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 implicitement converties de et vers QJniObject et jobject, et fournissent le même modèle d'API que QJniObject pour appeler des méthodes et accéder à des propriétés. Étant donné que les instances de JObject connaissent le type Java qu'elles détiennent, les API permettant d'accéder aux méthodes ou champs statiques ne nécessitent pas le nom de la classe en tant que paramètre explicite.
Voir également Q_DECLARE_JNI_CLASS.
Documentation des fonctions membres
JObject::JObject()
Construit par défaut l'instance de JObject. Cela permet également de construire par défaut une instance du type Java représenté.
[noexcept] JObject::JObject(QJniObject &&other)
Move-construit une instance de JObject à partir de other.
JObject::JObject(const QJniObject &other)
Construit une instance de JObject qui contient une référence au même jobject que other.
JObject::JObject(jobject other)
Construit une instance de JObject qui contient une référence à other.
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 (sauf si Ret est void). Si Ret est un type d'objet de travail, la valeur renvoyée sera QJniObject.
Voir aussi 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 (sauf si Ret est void). Si Ret est un type jobject, la valeur renvoyée sera QJniObject.
Voir aussi QJniObject::callStaticMethod().
QByteArray JObject::className() const
Renvoie le nom de la classe Java dont cet objet est une instance.
Voir aussi objectClass() et QJniObject::className().
[static] template <typename... Args> QtJniTypes::JObject<Type> JObject::construct(Args &&... args)
Construit un objet Java à partir de args et renvoie une instance de JObject qui contient une référence à cet objet Java.
[static] QtJniTypes::JObject<Type> JObject::fromJObject(jobject object)
Construit une instance de JObject à partir de object et renvoie cette instance.
[static] QtJniTypes::JObject<Type> JObject::fromLocalRef(jobject ref)
Construit un objet JObject qui contient une référence locale à ref, et renvoie cet objet.
template <typename T> auto JObject::getField(const char *field) const
Renvoie la valeur du champ d'instance field.
Voir également QJniObject::getField().
[static] template <typename T> auto JObject::getStaticField(const char *field)
Renvoie la valeur du champ statique field.
Voir également QJniObject::getStaticField().
[static] bool JObject::isClassAvailable()
Indique si la classe représentée par la spécialisation JObject est disponible.
Voir également QJniObject::isClassAvailable().
bool JObject::isValid() const
Indique si l'instance JObject contient une référence valide à un projet de travail.
Voir aussi QJniObject::isValid().
jclass JObject::objectClass() const
Renvoie la classe Java dont cette JObject est une instance sous forme de jclass.
Voir aussi 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 renvoie si l'enregistrement a réussi.
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 à value.
Voir aussi QJniObject::setField().
[static] template <typename Ret = void, typename T> auto JObject::setStaticField(const char *field, T &&value)
Définit le champ statique field à value.
Voir aussi QJniObject::setStaticField().
QString JObject::toString() const
Renvoie une adresse QString avec une représentation sous forme de chaîne de caractères de l'objet Java.
Voir également 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.