Java-gnome
   HOME

TheInfoList



OR:

java-gnome is a set of
language binding In programming and software design, a binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
s for the
Java programming language Java is a high-level, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Jav ...
for use in the
GNOME A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
. It is part of the official GNOME language bindings suite and provides a set of
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
allowing developers to write computer programs for GNOME using the Java
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
and the
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
cross-platform
widget toolkit A widget toolkit, widget library, GUI toolkit, or UX library is a library (computing), library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of ...
.


Development

Originally released on 08.10.1999 as version 0.2, it included the first bindings for
Gnome A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
and
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
. Up until version 2.0, java-gnome was written by a project team. The current version 4.0 was originally an internal project of , a
change management Change management (CM) is a discipline that focuses on managing changes within an organization. Change management involves implementing approaches to prepare and support individuals, teams, and leaders in making organizational change. Change mana ...
consultancy group. From 1999, the so-called 2.X series was the main project. After being abandoned by the main team for a time, the project was given to a new developer in 2006, due to development problems that came from many maintenance issues. The last release of 2.0 versions (which continued the same project from version 0.2) was version 2.16.2 (called the 2.x series). The coverage of these series never made it past
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
2.6. This update was declared as “end of life” for the old project and was no longer maintained, and any contribution patches for versions older than 4.0 are no longer accepted. Both 2.0 and 4.0 updates have similar style of coding, while package spaces, classes, and method names are different. Internals of project were changed from version 4.0, so they can't be accessed publicly. Currently, the project is maintained by
Java-gnome hackers
. The leader of this latest team is , one of the principal architects for the java-gnome project.


Functions

Java-gnome uses Java programming language and
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
based class system for creation of
GUI Gui or GUI may refer to: People Surname * Gui (surname), an ancient Chinese surname, ''xing'' * Bernard Gui (1261 or 1262–1331), inquisitor of the Dominican Order * Luigi Gui (1914–2010), Italian politician * Gui Minhai (born 1964), Ch ...
parts. Each implemented package has a different function; packages used in version 4.0 are: *
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
- The widget toolkit itself. *
GDK GDK (GIMP Drawing Kit) is a library that acts as a wrapper around the low-level functions provided by the underlying windowing and graphics systems. GDK lies between the display server and the GTK library, handling basic rendering such as dra ...
- Contains low level drawing primitives. The majority of drawing is done by Cairo. *
Glib GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since ...
and
Gobject The GLib Object System, or GObject, is a free software, free software library providing a portable object system and transparent cross-language interoperability. GObject is designed for use both directly in C (programming language), C programs ...
- Containers for the rest of infrastructure that allow the use of OOP. *
Pango Pango (stylized as Παν語) is a text (i.e. glyph) layout engine library which works with the HarfBuzz shaping engine for displaying multi-language text. Full-function rendering of text and cross-platform support is achieved when Pango is use ...
- Text layout engine. * ATK - Accessibility toolkit that allows extra control with computer controls. * GtkSourceView - Source code highlighter. * LibNotify - Warning notifier. * GtkSpell - Spellchecker. * LibUnique - Library that helps to maintain one working instance of an application.


Support

Java-gnome is only supported in Linux and Unix distributions, unlike most other
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
bindings, that are supported by other systems. Distribution specific instructions are available for: *
Gentoo linux Gentoo Linux (pronounced ) is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for ...
*
Arch linux Arch Linux () is an Open-source software, open source, rolling release Linux distribution. Arch Linux is kept up-to-date by regularly updating the individual pieces of software that it comprises. Arch Linux is intentionally minimal, and is meant ...
*
Debian linux Debian () is a free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kernel, and is the basis of many o ...
*
Ubuntu linux Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical and a community of contributors under a meritocratic governance model, Ubuntu is released ...
Semi-finished instructions are available for Open Solaris and Fedora Core Linux distributions.


Licensing

Java-gnome is
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
released under the terms of the
GNU General Public License version 2 The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first c ...
.


Example

To compile a java-gnome class it's necessary to add the gtk-4.1.jar jar in the classpath. The jar is available on
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
(and all Debian-based distributions) in the libjava-gnome-javalibjava-gnome-java package
/ref> package, which can be found in the official repositories (the jar is installed under the /usr/share/java path). 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


See also

*
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
* Clutter


References


External links


The java-gnome language bindings project
{{DEFAULTSORT:Java-Gnome GNOME libraries Free computer libraries GTK language bindings Java (programming language) libraries Widget toolkits