Java-gnome

Last updated
Java-gnome
Initial release0.99 [1] / January 20, 1999
Stable release
4.1.3 [2] / May 5, 2013 (2013-05-05)
Repository
Written in C and Java
Operating system UNIX-like
Type GUI language bindings for java
License GNU General Public License with exception.
Website java-gnome.sourceforge.net

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 computer programs for GNOME using the Java programming language and the GTK cross-platform widget toolkit.

Contents

Development

Originally released on 08.10.1999 as version 0.2, it included the first bindings for Gnome and GTK. Up until version 2.0, java-gnome was written by a project team. [3] The current version 4.0 was originally an internal project of Operational Dynamics, a change management consultancy group. [4]

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. [5]

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 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. [6]

Currently, the project is maintained by "Java-gnome hackers". The leader of this latest team is Andrew Cowie, one of the principal architects for the java-gnome project. [7] [8]

Functions

Java-gnome uses Java programming language and Java based class system for creation of GUI parts. Each implemented package has a different function; packages used in version 4.0 are: [9]

Support

Java-gnome is only supported in Linux and Unix distributions, unlike most other GTK bindings, that are supported by other 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. [10]

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 (and all Debian-based distributions) in the libjava-gnome-java [11] package, which can be found in the official repositories (the jar is installed under the /usr/share/java path).

java-gnome GtkExample GtkExample.png
java-gnome GtkExample
packageorg.wikipedia.javagnome.example;importorg.gnome.gdk.Event;importorg.gnome.gtk.Gtk;importorg.gnome.gtk.Widget;importorg.gnome.gtk.Window;importorg.gnome.gtk.WindowPosition;/** * Java-Gnome GTK Example * inspired official site java-gnome.sourceforge.net */publicclassGdkSimpleextendsWindow{publicGdkSimple(){setTitle("Example");connect((DeleteEvent)(source,event)->{Gtk.mainQuit();returnfalse;});setDefaultSize(250,150);setPosition(WindowPosition.CENTER);show();}publicstaticvoidmain(String[]args){Gtk.init(args);newGdkSimple();Gtk.main();}}

See also

Related Research Articles

<span class="mw-page-title-main">Xfce</span> Desktop environment

Xfce or XFCE is a free and open-source desktop environment for Linux and other Unix-like operating systems.

<span class="mw-page-title-main">Gambas</span> Integrated development environment

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it. Designed to run on Linux and other Unix-like computer operating systems, its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

wxWidgets Widget toolkit

wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.

<span class="mw-page-title-main">Standard Widget Toolkit</span> Graphical widget toolkit for use with the Java platform

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

<span class="mw-page-title-main">FLTK</span>

Fast Light Toolkit is a cross-platform widget library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming.

<span class="mw-page-title-main">GDK</span> Software library

GDK 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 drawing primitives, raster graphics (bitmaps), cursors, fonts, as well as window events and drag-and-drop functionality.

<span class="mw-page-title-main">Ted (word processor)</span>

Ted is a lightweight free software word processor for the X Window System, and runs on Linux and other Unix-like systems. Developed primarily by Mark de Does, it's licensed under the terms of the GNU General Public License (GPL-2.0-only), and has been translated into several languages.

gtkmm is the official C++ interface for the popular GUI library GTK. gtkmm is free software distributed under the GNU Lesser General Public License (LGPL).

<span class="mw-page-title-main">GCompris</span> Educational entertainment software

GCompris is a software suite comprising educational entertainment software for children aged 2 to 10. GCompris was originally written in C and Python using the GTK+ widget toolkit, but a rewrite in C++ and QML using the Qt widget toolkit has been undertaken since early 2014. GCompris is free and open-source software and the current version is subject to the requirements of the AGPL-3.0-only license. It has been part of the GNU project.

<span class="mw-page-title-main">Compiz</span> Compositing window manager for the X Window System

Compiz is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loadable plugins. Because it conforms to the ICCCM conventions, Compiz can be used as a substitute for the default Mutter or Metacity, when using GNOME Panel, or KWin in KDE Plasma Workspaces. Internally Compiz uses the OpenGL library as the interface to the graphics hardware.

<span class="mw-page-title-main">LXDE</span> Lightweight desktop environment for Linux and BSD

LXDE is a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbooks or system on a chip computers.

<span class="mw-page-title-main">MonoDevelop</span> Integrated development environment, discontinued for macOS

MonoDevelop was an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript and Visual Basic.NET. Although there is no word from the developers that is has been discontinued, nonetheless it hasn't been updated in 4 years and is no longer installable on major operating systems, such as Ubuntu 22.04 and above. Its parent Microsoft, seems to have shifted focus to Visual Studio Code and the .NET Framework, which runs on many operating systems, including Linux.

Clutter is a discontinued GObject-based graphics library for creating hardware-accelerated user interfaces. Clutter is an OpenGL-based 'interactive canvas' library and does not contain any graphical control elements. It relies upon OpenGL (1.4+) or OpenGL ES for rendering,. It also supports media playback using GStreamer and 2D graphics rendering using Cairo.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free and open-source 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 and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

<span class="mw-page-title-main">GNOME</span> Desktop environment for Linux and other Unix-like systems

GNOME, originally an acronym for GNU Network Object Model Environment, is a free and open-source desktop environment for Linux and other Unix-like operating systems.

Seed is a JavaScript interpreter and a library of the GNOME project to create standalone applications in JavaScript. It uses the JavaScript engine JavaScriptCore of the WebKit project. It is possible to easily create modules in C.

<span class="mw-page-title-main">LightDM</span> Free, open-source X display manager

LightDM is a free and open-source X display manager that aims to be lightweight, fast, extensible and multi-desktop. It can use various front-ends to draw the user interface, also called Greeters. It also supports Wayland.

<span class="mw-page-title-main">Guvcview</span> Free and open source webcam application

Guvcview is a webcam application, i.e. software to handle UVC streams, for the Linux desktop, started by Paulo Assis in 2008. The application is written in C and is free and open-source software released under GPL-2.0-or-later.

<span class="mw-page-title-main">Budgie (desktop environment)</span> Desktop environment for Unix-like operating systems

Budgie is an independent, free and open-source desktop environment for Linux and other Unix-like operating systems that targets the desktop metaphor. Budgie is developed by the Buddies of Budgie organization, which is composed of a team of contributors from Linux distributions such as Fedora, Debian, and Arch Linux. Its design emphasizes simplicity, minimalism, and elegance, while providing the means to extend or customize the desktop in various ways. Unlike desktop environments like Cinnamon, Budgie does not have a reference platform, and all distributions that ship Budgie are recommended to set defaults that best fit their desired user experience.

References

  1. "Index of /web/20010202155200/http://java-gnome.sourceforge.net/News/news.html". Archived from the original on 2001-02-02.
  2. "Index of /pub/gnome/sources/java-gnome". ftp.gnome.org.
  3. For the current list of developers see AUTHORS
  4. java-gnome 4.0: About Archived 2009-07-21 at the Wayback Machine . Accessed 2009-08-31.
  5. "java-gnome 2.x". 2007-03-03. Archived from the original on 2007-03-03. Retrieved 2019-04-28.
  6. "java-gnome 2.x". 2007-03-03. Archived from the original on 2007-03-03. Retrieved 2019-04-28.
  7. "Andrew Cowie in Launchpad". launchpad.net. 12 February 2008. Retrieved 2019-04-28.
  8. "AUTHORS". java-gnome.sourceforge.net. Retrieved 2019-04-28.
  9. "java-gnome 4.1.3 API Documentation". java-gnome.sourceforge.net. Retrieved 2019-04-28.
  10. . 2017-07-04 https://web.archive.org/web/20170704205150/http://research.operationaldynamics.com/bzr/java-gnome/mainline/COPYING. Archived from the original on 2017-07-04. Retrieved 2019-04-28.{{cite web}}: Missing or empty |title= (help)
  11. libjava-gnome-java package