Java-gnome

java-gnome adalah sekumpulan pengikat bahasa untuk bahasa pemrograman Java untuk digunakan di lingkungan desktop GNOME. Java-gnome menyediakan sekumpulan pustaka yang memungkinkan pengembang untuk membangun program GTK menggunakan bahasa pemrograman Java. Berbeda dengan pengikat bahasa untuk GTK lainnya, java-gnome hanya tersedia untuk distribusi Linux saja.

Pengembangan 
Pertama kali dirilis di bulan Oktober 08 1999 dengan versi 0.2. Java-gnome menyediakan pengikat pertama untuk Gnome dan GTK. Hingga versi 2.0, java-gnome ditulis oleh sebuah tim proyek. Versi  4.0 saat ini awalnya  merupakan proyek internal dari Operational Dynamics, sebuah grup konsultan manajemen perubahan.

Dari tahun 1999, yang sering disebut seri 2.X adalah proyek utamanya. Setelah ditinggalkan oleh tim utamanya untuk beberapa waktu, proyeknya diberikan kepada pengembang baru ditahun 2006, karena terdapat beberapa masalah pengembangan yang datang dari banyak isu pemeliharaan.

Rilis terakhir dari versi 2.0 (yang dilanjutkan dari proyek yang sama dari versi 0.2) adalah versi 2.16.2 (disebut seri 2.x). Cakupan dari seri ini tidak pernah berhasil melewati GTK 2.6. Pembaruan ini dipanggil sebagai "akhir masa pakai" untuk proyek lawas dan tidak lagi dirawat. Semua kontribusi tambalan untuk versi dibawah 4.0 sudah tidak lagi diterima.

Kedua pembaharuan 2.0 dan 4.0 memiliki gaya koding yang mirip, sedangkan ruang paket, kelas, dan nama metode nya berbeda. Internal dari proyek tersebut telah diganti dari versi 4.0, jadi mereka tidak dapat diakses secara publik.

Sekarang, proyek ini sedang dipelihara oleh "peretas Java-gnome". Pemimpin dari tim terbaru ini adalah Andrew Cowie, salah satu arsitek utama untuk proyek java-gnome.

Fungsi 
Java-gnome menggunakan bahasa pemrograman Java dan sistem kelas berbasis Java untuk membuat bagian antarmuka grafis. Masing-masing paket terimplementasi mempunyai fungsi yang berbeda. Beberapa paket yang digunakan di versi 4.0 diantarnya:

 GTK - Perangkat widget itu sendiri.
 GDK - Berisi gambar primitif tingkat rendah. Mayoritas menggambar dilakukan oleh Kairo.
 Glib dan GObject - Wadah untuk infrastruktur lainnya yang memungkinkan penggunaan OOP.
 Pango - Mesin tata letak teks.
 ATK - Toolkit aksesibilitas yang memungkinkan kontrol ekstra dengan kontrol komputer.
 GtkSourceView - Penyorot kode sumber.
 LibNotify - Pemberitahu peringatan.
 GtkSpell - Pemeriksa Ejaan.
 LibUnique - Library yang membantu mempertahankan satu instance aplikasi yang berfungsi.

Dukungan 
Java-gnome hanya didukung di distribusi Linux dan Unix, tidak seperti kebanyakan pengikat GTK lainnya, yang mendukung sistem lain. Instruksi khusus distribusi tersedia untuk:
 Gentoo Linux
 Arch Linux
 Debian Linux
 Ubuntu Linux
Instruksi setengah jadi tersedia untuk distribusi Open Solaris dan Fedora Core Linux.

Perizinan 
Java-gnome adalah perangkat lunak bebas yang dirilis dibawah persyratan dari Lisensi Publik Umum GNU versi 2.

Contoh 
Untuk mengompilasi kelas java-gnome, perlu menambahkan jar gtk-4.1.jar di classpath.  Jar tersedia di Debian (dan semua distribusi berbasis Debian) dalam paket libjava-gnome-java, yang dapat ditemukan di repositori resmi Debian. Nantinya Jar tersebut akan  terpasang di bawah jalur /usr/share/java.

package org.wikipedia.javagnome.example;

import org.gnome.gdk.Event;
import org.gnome.gtk.Gtk;
import org.gnome.gtk.Widget;
import org.gnome.gtk.Window;
import org.gnome.gtk.WindowPosition;
/**
 * Java-Gnome GTK Example
 * ispired official site java-gnome.sourceforge.net
 */
public class GdkSimple extends Window {
    public GdkSimple() {
        setTitle("Example");
        connect((DeleteEvent)(source, event) -> {
            Gtk.mainQuit();
            return false;
        });
        setDefaultSize(250, 150);
        setPosition(WindowPosition.CENTER);
        show();
    }

    public static void main(String[] args) {
        Gtk.init(args);
        new GdkSimple(); 
        Gtk.main(); 
    } 
}

Lihat pula 

 GTK
 Bahasa pemrograman Java

Referensi 

Peralatan dan pustaka pengembangan perangkat lunak bebas
Pengikat bahasa GTK
Pustaka GNOME