Java-gnome

From Wikipedia, the free encyclopedia

java-gnome is a set of language bindings for the Java programming language for use in the GNOME desktop environment. It is part of the official GNOME language bindings suite and provides a set of libraries allowing developers to write programs for GNOME using Java and the GTK cross-platform widget toolkit.

Initial release0.99[1] / January 20, 1999
Stable release
4.1.3[2] / May 5, 2013 (2013-05-05)
Written inC and Java
Quick facts Initial release, Stable release ...
Java-gnome
Initial release0.99[1] / January 20, 1999
Stable release
4.1.3[2] / May 5, 2013 (2013-05-05)
Written inC and Java
Operating systemUNIX-like
TypeGUI language bindings for java
LicenseGNU General Public License with exception.
Websitejava-gnome.sourceforge.net
Repository
Close

Development

Originally released on 8 October 1999 as version 0.2, it included the first bindings for Gnome and GTK. Until version 2.0, java-gnome was written by a group of online contributors.[3] Development of this codebase by 5 successive teams continued up to version 2.16.2 supporting GTK 2.6, after which development ceased for several years, and was ultimately discontinued[4].

The current version, 4.0, was originally an internal project of Operational Dynamics, a change management consultancy group.[5] The 2.0 and 4.0 versions have similar APIs, but specific names (of e.g. packages, classes, and methods) are different, and internal code in 4.0 is encapsulated and not externally visible.[4]

The project is currently maintained by "java gnome Hackers". The leader of this latest team is Andrew Cowie, one of the principal architects for the java-gnome project.[6][7]

Functions

Java-gnome provides access to various GNOME libraries using idiomatic class-based bindings. The provided libraries in version 4.0 include:

  • GTK - The widget toolkit itself.
  • GDK - Contains low level drawing primitives. The majority of drawing is done by Cairo.
  • Glib and Gobject - Containers for the rest of infrastructure that allow the use of OOP.
  • Pango - Text layout engine.
  • ATK - Accessibility toolkit.
  • GtkSourceView - Source code highlighter.
  • LibNotify - Warning notifier.
  • GtkSpell - Spellchecker.
  • LibUnique - Enforces that only one instance of a program is open simultaniously.

Support

Java-gnome is only supported in Linux and Unix distributions, unlike most other GTK bindings that are supported by other operating systems. Distribution specific instructions are available for:

Semi-finished instructions are available for Open Solaris and Fedora Core Linux distributions.

Licensing

Java-gnome is free software released under the terms of the GNU General Public License version 2.[8]

Example

To compile a java-gnome class, it is necessary to add the gtk-4.1.jar jar in the classpath. The jar is available on Debian (and all Debian-based distributions) in the libjava-gnome-java[9] package, which can be found in the official repositories (the jar is installed under the /usr/share/java path).

java-gnome GtkExample
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
 * inspired 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(); 
    } 
}

See also

References

Related Articles

Wikiwand AI