Auf dieser Seite

QtJniTypes::JObject Class

template <typename Type> class QtJniTypes::JObject

Die Vorlage „JObject“ im Namensraum „ QtJniTypes “ bildet die Grundlage für deklarierte Java-Typen. Mehr dazu...

Header: #include <qjniobject.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Seit: Qt 6.8

Öffentliche Funktionen

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)

Statische öffentliche Mitglieder

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)

Ausführliche Beschreibung

JObject<Type> ist eine Template-Klasse, bei der Type den darzustellenden Java-Typ angibt.

Diese Vorlage wird bei Verwendung des Makros „ Q_DECLARE_JNI_CLASS “ spezialisiert. Die Spezialisierung erzeugt einen eindeutigen Typ im Namensraum „ QtJniTypes “. Dadurch kann das Typsystem bei JNI-Aufrufen die richtige Signatur ableiten, wenn eine Instanz des spezialisierten Typs als Parameter übergeben wird.

Instanzen können implizit in QJniObject und jobject konvertiert werden und bieten dieselbe Template-API wie QJniObject, um Methoden aufzurufen und auf Eigenschaften zuzugreifen. Da Instanzen von JObject den von ihnen gehaltenen Java-Typ kennen, erfordern APIs für den Zugriff auf statische Methoden oder Felder den Klassennamen nicht als expliziten Parameter.

Siehe auch „ Q_DECLARE_JNI_CLASS “.

Dokumentation zu Mitgliedsfunktionen

JObject::JObject()

Erstellt die JObject-Instanz mit den Standardwerten. Dabei wird auch eine Instanz des dargestellten Java-Typs mit den Standardwerten erstellt.

[noexcept] JObject::JObject(QJniObject &&other)

Erzeugt eine JObject-Instanz aus „ other “.

JObject::JObject(const QJniObject &other)

Erstellt eine JObject-Instanz, die einen Verweis auf dasselbe JObject enthält wie other.

JObject::JObject(jobject other)

Erstellt eine JObject-Instanz, die einen Verweis auf „ other “ enthält.

[default] JObject::JObject(const QtJniTypes::JObject<Type> &other)

Erzeugt eine Instanz von „ JObject “ durch Kopieren.

[noexcept default] JObject::JObject(QtJniTypes::JObject<Type> &&other)

Erstellt eine Instanz von „ JObject “ mithilfe von „Move“.

[default] JObject::~JObject()

Löscht die Instanz von „ JObject “.

template <typename Ret = void, typename... Args> auto JObject::callMethod(const char *method, Args &&... args) const

Ruft die Instanzmethode „ method “ mit den Argumenten „ args “ auf und gibt das Ergebnis vom Typ „Ret“ zurück (es sei denn, „Ret“ ist vom Typ „ void “). Ist „Ret“ ein „jobject“-Typ, so ist der Rückgabewert ein „ QJniObject “.

Siehe auch ` QJniObject::callMethod()`.

[static] template <typename Ret = void, typename... Args> auto JObject::callStaticMethod(const char *methodName, Args &&... args)

Ruft die statische Methode „ methodName “ mit den Argumenten „ args “ auf und gibt das Ergebnis vom Typ „Ret“ zurück (es sei denn, „Ret“ ist „ void “). Ist „Ret“ ein „jobject“-Typ, so ist der Rückgabewert ein „ QJniObject “.

Siehe auch ` QJniObject::callStaticMethod()`.

QByteArray JObject::className() const

Gibt den Namen der Java-Klasse zurück, von der dieses Objekt eine Instanz ist.

Siehe auch ` objectClass()` und ` QJniObject::className()`.

[static] template <typename... Args> QtJniTypes::JObject<Type> JObject::construct(Args &&... args)

Erstellt ein Java-Objekt aus ` args ` und gibt eine ` JObject `-Instanz zurück, die einen Verweis auf dieses Java-Objekt enthält.

[static] QtJniTypes::JObject<Type> JObject::fromJObject(jobject object)

Erstellt eine „ JObject “-Instanz aus „ object “ und gibt diese Instanz zurück.

[static] QtJniTypes::JObject<Type> JObject::fromLocalRef(jobject ref)

Erstellt ein ` JObject `-Objekt, das eine lokale Referenz auf ` ref` enthält, und gibt dieses Objekt zurück.

template <typename T> auto JObject::getField(const char *field) const

Gibt den Wert des Instanzfelds „ field “ zurück.

Siehe auch ` QJniObject::getField()`.

[static] template <typename T> auto JObject::getStaticField(const char *field)

Gibt den Wert des statischen Feldes „ field “ zurück.

Siehe auch ` QJniObject::getStaticField()`.

[static] bool JObject::isClassAvailable()

Gibt zurück, ob die Klasse, die diese Spezialisierung von ` JObject ` darstellt, verfügbar ist.

Siehe auch ` QJniObject::isClassAvailable()`.

bool JObject::isValid() const

Gibt zurück, ob die Instanz „ JObject “ eine gültige Referenz auf ein „jobject“ enthält.

Siehe auch ` QJniObject::isValid()`.

jclass JObject::objectClass() const

Gibt die Java-Klasse, von der diese ` JObject ` eine Instanz ist, als `jclass` zurück.

Siehe auch „ className()“ und „ QJniObject::objectClass()“.

[static] bool JObject::registerNativeMethods(std::initializer_list<JNINativeMethod> methods)

Registriert die Java-Methoden in „ methods “ mit der Java-Klasse, die durch die Spezialisierung „ JObject “ repräsentiert wird, und gibt zurück, ob die Registrierung erfolgreich war.

Siehe auch QJniEnvironment::registerNativeMethods().

template <typename Ret = void, typename T> auto JObject::setField(const char *field, T &&value)

Setzt den Wert des Instanzfelds „ field “ auf „ value “.

Siehe auch ` QJniObject::setField()`.

[static] template <typename Ret = void, typename T> auto JObject::setStaticField(const char *field, T &&value)

Setzt das statische Feld „ field “ auf „ value “.

Siehe auch QJniObject::setStaticField().

QString JObject::toString() const

Gibt ein ` QString ` mit einer Zeichenfolgenrepräsentation des Java-Objekts zurück.

Siehe auch ` QJniObject::toString()`.

[noexcept default] QtJniTypes::JObject<Type> &JObject::operator=(QtJniTypes::JObject<Type> &&other)

Weist „ other “ dieser „ JObject “-Instanz zu.

[default] QtJniTypes::JObject<Type> &JObject::operator=(const QtJniTypes::JObject<Type> &other)

other Weist dieser „ JObject “-Instanz „ “ zu. zu dieser „ “-Instanz.

© 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.