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

Jendela java-gnome

```
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
---------

1. ↑  "Index of /web/20010202155200/http://java-gnome.sourceforge.net/News/news.html". Diarsipkan dari versi asli tanggal 2001-02-02.
2. ↑  "Index of /pub/gnome/sources/java-gnome". *ftp.gnome.org*.
3. ↑  Untuk daftar pengembang sekarang, lihat AUTHOR
4. ↑  java-gnome 4.0: About Diarsipkan 2009-07-21 di Wayback Machine.. Accessed 2009-08-31.
5. ↑  "java-gnome 2.x". 2007-03-03. Diarsipkan dari versi asli tanggal 2007-03-03. Diakses tanggal 2019-04-28.
6. ↑  "java-gnome 2.x". 2007-03-03. Diarsipkan dari versi asli tanggal 2007-03-03. Diakses tanggal 2019-04-28.
7. ↑  "Andrew Cowie in Launchpad". *launchpad.net*. Diakses tanggal 2019-04-28.
8. ↑  "AUTHORS". *java-gnome.sourceforge.net*. Diakses tanggal 2019-04-28.
9. ↑  "java-gnome 4.1.3 API Documentation". *java-gnome.sourceforge.net*. Diakses tanggal 2019-04-28.
10. ↑ . 2017-07-04. Diarsipkan dari versi asli tanggal 2017-07-04. Diakses tanggal 2019-04-28.  Tidak memiliki atau tanpa `|title=` (bantuan)
11. ↑  "libjava-gnome-java package".