|
|
|
/***************************************************************************
|
|
|
|
* (C) 2000-2002 Lost Highway Ltd. All rights reserved. *
|
|
|
|
* *
|
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
|
* it under the terms of the GNU General Public License as *
|
|
|
|
* published by the Free Software Foundation; either version 2 of the *
|
|
|
|
* License, or (at your option) any later version. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
Here are Java JNI based api bindings for Qt 3.2.3
|
|
|
|
|
|
|
|
All the files in this project are generated from the Qt 3.2.3 C++ headers,
|
|
|
|
apart from the following:
|
|
|
|
|
|
|
|
JavaSlot.cpp
|
|
|
|
JavaSlot.h
|
|
|
|
C++ proxies for Java signals and slots
|
|
|
|
|
|
|
|
QtSupport.cpp
|
|
|
|
QtSupport.h
|
|
|
|
C++ static methods for running the library in conjunction with 'qtjava.java'
|
|
|
|
|
|
|
|
qtjava.java
|
|
|
|
A Java class with static methods for running the library
|
|
|
|
|
|
|
|
qtjava.cpp
|
|
|
|
Some native code methods to help the 'run the library' Java class 'qtjava.java'
|
|
|
|
|
|
|
|
Invocation.java
|
|
|
|
Utility class containing methods to invoke Qt event handlers and slots
|
|
|
|
|
|
|
|
QtSupport.java
|
|
|
|
A marker interface to denote that Java instance contains a wrapped C++ equivalent
|
|
|
|
|
|
|
|
WeakValueMap.java
|
|
|
|
Utility class from 'Programming In Java' third edition
|
|
|
|
|
|
|
|
BUILD INSTRUCTIONS
|
|
|
|
|
|
|
|
1) $ cd tdebindings
|
|
|
|
$ ./configure --with-qt-dir=<your Qt lib path>
|
|
|
|
$ cd qtjava
|
|
|
|
$ make
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
The java classes are installed in $(kde_libraries)/java/qtjava.jar, and you will need to add
|
|
|
|
this jar file to your classpath. The shared library libqtjava.so is installed
|
|
|
|
in $(kde_libraries).
|
|
|
|
|
|
|
|
2) That's it - you should be able to compile and run the Java example
|
|
|
|
qtjava/javalib/test/ScribbleWindow.java by typing:
|
|
|
|
|
|
|
|
$ javac ScribbleWindow.java
|
|
|
|
$ java ScribbleWindow
|
|
|
|
|
|
|
|
3) If you wish to write QtJava applications, include the following in the class which has a main() function:
|
|
|
|
|
|
|
|
static {
|
|
|
|
qtjava.initialize();
|
|
|
|
}
|
|
|
|
|
|
|
|
It will load the QtJava 'libqtjava.so' shared library.
|
|
|
|
|
|
|
|
4) To build the javadoc documentation.
|
|
|
|
|
|
|
|
cd qtjava/javalib/api
|
|
|
|
javadoc -classpath ".." -splitindex -windowtitle "Qt 3.2.3 Java api" ../org/trinitydesktop/qt/*.java
|