Pengembangan desktop Java dengan Qt Jambi

Qt Jambi adalah alternatif baru dan penting untuk Swing dan Java 2D untuk mengembangkan antarmuka aplikasi desktop lintas platform yang kaya. Dalam artikel ini, kontributor JavaWorld, Jeff Hanson, memperkenalkan Qt Jambi yang baru-baru ini dirilis, menjelaskan cara kerjanya di bawah tenda, dan menyajikan contoh pemrograman yang akan membiasakan Anda dengan API seret dan lepas kerangka kerja dan alat pengembangan terintegrasi.

Qt Jambi, dirilis pada awal Juni 2007, adalah kerangka kerja pengembangan yang mengintegrasikan bahasa pemrograman Java dengan kerangka kerja pengembangan C ++ GUI Trolltech yang populer, Qt. Dirilis di bawah lisensi sumber terbuka / komersial ganda, Qt Jambi memungkinkan pengembang Java menggunakan Java Standard Edition 5.0 (JSE 5.0) dan yang lebih baru untuk memanfaatkan fitur kerangka kerja Qt. Bersama dengan dukungan lintas platform yang telah teruji oleh industri, Qt Jambi menyediakan dukungan untuk dasar-dasar pengembangan GUI seperti grafik 2D dan 3D, pesan peristiwa antar-objek drag-and-drop, internasionalisasi, akses database SQL, XML dan protokol jaringan TCP / IP. Plug-in Qt Jambi Eclipse juga memberi Anda opsi untuk mengakses fitur-fitur Qt Jambi menggunakan Eclipse.

Unduh Qt Jambi
Qt Jambi ditawarkan di bawah lisensi sumber terbuka / komersial ganda. Anda dapat mengunduh versi mana pun dari beranda Trolltech. Versi sumber terbuka disediakan di bawah Lisensi Publik Umum GNU dan tanpa dukungan atau jaminan. Proyek komersial diharuskan menggunakan versi komersial Qt Jambi.

Qt Jambi dibangun di atas fondasi C ++ GUI lintas platform Qt untuk memudahkan tugas mengembangkan antarmuka pengguna tampilan dan nuansa asli untuk sebagian besar platform desktop menggunakan kode Java. Dengan demikian, ini adalah alternatif yang menarik untuk Swing dan Java 2D untuk pengembangan desktop Java. Dalam pengantar langsung Qt Jambi ini Anda akan belajar tentang API pengembangan Qt Jambi dan alat pengembangan terintegrasi. Anda akan diperkenalkan dengan kerangka kerja GUI berbasis widget Qt Jambi dan mempelajari cara membuat proyek menggunakan Qt Designer. Anda juga akan membandingkan mekanisme penanganan acara signal-and-slots Qt Jambi dengan kerangka kerja event listener Java, lihat sendiri sistem rendering grafis Qt Jambi, dan lihat sendiri bagaimana hal itu terintegrasi dengan Eclipse melalui plug-in Qt Jambi Eclipse.

Unduh Qt Jambi sekarang jika Anda ingin mengikuti contohnya.

Tinjauan Qt Jambi

Qt Jambi adalah kerangka kerja berbasis Java yang mengintegrasikan kerangka kerja C ++ lintas platform Trolltech untuk pengembangan GUI dengan bahasa pemrograman Java. Fitur berikut tersedia saat mengembangkan aplikasi desktop Java dengan Qt Jambi:

  • Dukungan lintas platform yang sangat baik untuk grafik 2D dan 3D
  • Mekanisme komunikasi acara antar objek yang unik
  • Penginternasionalan
  • Akses database SQL
  • Dukungan untuk XML
  • Dukungan untuk protokol jaringan TCP / IP

Anda dapat menggunakan Qt Jambi dengan sebagian besar JVM (mesin virtual Java) setelah Java Standard Edition (JSE) 5.0 dan Java Enterprise Edition (JEE) 5.0. Integrasi OS yang ketat dari Qt Jambi memungkinkan Anda untuk menghasilkan aplikasi desktop Java yang meniru tampilan dan nuansa OS asli.

Qt memenuhi bahasa pemrograman Java

API Qt Jambi menyediakan lapisan tipis kode Java yang berinteraksi dengan pustaka C ++ asli yang dikompilasi Trolltech. Lapisan kode Java ini berjalan di Java Runtime Environment (JRE) apa pun dan menggunakan kerangka kerja Java Native Interface (JNI) untuk berkomunikasi dengan pustaka C ++ asli.

Pada dasarnya, Qt Jambi menempatkan lapisan abstraksi Java di atas pustaka C ++ Qt. Untuk mengatasi kesamaan dan tumpang tindih antara kelas C ++ Qt dan kelas inti Java, Qt Jambi memetakan kelas C ++ yang tumpang tindih ke kelas Java yang sesuai. Akibatnya, Anda dapat menggunakan konstruksi dan operator Java standar dengan abstraksi asli Qt. Anda juga dapat mencampurkan Qt Jambi API dengan non-Qt Java API.

Tabel 1 menunjukkan kelas Qt yang dipetakan ke kelas inti Java yang setara.

Tabel 1. Kelas Qt dipetakan ke kelas Java yang setara

Kelas Qt Kelas Java
QChar char dan java.lang.Character
QHash java.util.HashMap
QList java.util.List
QMap java.util.SortedMap
QString java.lang.String
QThread java.lang.Thread
QVector java.util.List

Qt C ++ API bergantung pada tipe nilai abstrak QVariantuntuk merangkum banyak tipe nilai Qt. Karena bahasa Java sudah menyediakan tipe abstrak umum untuk semua kelas ( Objectkelas basis umum ), API Qt Jambi bergantung pada Objectkelas di mana pun Qt C ++ bergantung QVariant. Qt Jambi memetakan enum C ++ ke enum Java untuk menegakkan keamanan tipe untuk enum Qt-Java dan flag bit.

Qt Jambi menyertakan kerangka GUI berbasis widget yang memanfaatkan ekstensi khusus platform seperti ActiveX, OpenGL, dan ClearType. Kerangka kerja ini memberikan kemampuan tampilan dan nuansa asli untuk tema Windows, Mac OS X, dan Linux.

Widget di Qt Jambi mengikuti sintaks style-sheet yang mirip dengan HTML Cascading Style Sheets (CSS), sehingga Anda dapat melakukan penyesuaian kecil atau luas dengan menyesuaikan tag dan properti gaya CSS. Anda juga dapat membuat subkelas widget Qt untuk lebih banyak penyesuaian tampilan dan nuansa dan kontrol.

Kerangka kerja GUI Qt Jambi mencakup kelas manajemen tata letak yang disajikan dalam alat Qt Designer untuk menyederhanakan tata letak saat membangun komponen desktop dan aplikasi. Gambar 1 menunjukkan jendela Layouts pada alat Qt Designer.

Kerangka GUI Qt Jambi menyediakan API untuk membangun aplikasi dengan komponen yang dapat dipasang ke dok. Antara lain, Anda dapat menggunakan fitur ini untuk membuat aplikasi desktop dengan bilah alat docking tampilan dan nuansa asli.