1 <!DOCTYPE REFENTRY PUBLIC "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN" [ 2 <!--ArborText, Inc., 1988-1999, v.4002--> 3 <!ENTITY cmd "java-gnome"> 4 <!ENTITY % commonents SYSTEM "smancommon.ent"> 5 %commonents; 6 <!ENTITY % booktitles SYSTEM "booktitles.ent"> 7 %booktitles; 8 <!ENTITY suncopy "Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved."> 9 ]> 10 <?Pub UDT _bookmark _target> 11 <?Pub Inc> 12 <refentry id="java-gnome-3"> 13 <!-- %Z%%M% %I% %E% SMI; --> 14 <refmeta><refentrytitle>&cmd;</refentrytitle><manvolnum>3</manvolnum> 15 <refmiscinfo class="date">2 Nov 2006</refmiscinfo> 16 <refmiscinfo class="sectdesc">&man3;</refmiscinfo> 17 <refmiscinfo class="software">&release;</refmiscinfo> 18 <refmiscinfo class="arch">generic</refmiscinfo> 19 <refmiscinfo class="copyright">&suncopy;</refmiscinfo> 20 </refmeta> 21 <indexterm><primary>&cmd;</primary></indexterm> 22 <indexterm><primary>Java bindings for Cairo 2D graphic library and GNOME librar\ 23 ies.</primary></indexterm> 24 <refnamediv id="java-gnome-3-name"><refname>&cmd</refname> 25 <refpurpose>Java bindings for Cairo 2D graphic library and GNOME libraries. 26 </refpurpose></refnamediv> 27 28 <refsect1 id="java-gnome-3-desc"><title>&synp-tt;</title> 29 <para> 30 <list> 31 <item>import org.freedesktop.cairo</item> 32 <item>import org.gnu.atk</item> 33 <item>import org.gnu.gconf</item> 34 <item>import org.gnu.gdk</item> 35 <item>import org.gnu.glade</item> 36 <item>import org.gnu.glib</item> 37 <item>import org.gnu.gnome</item> 38 <item>import org.gnu.gnome.event</item> 39 <item>import org.gnu.gtk</item> 40 <item>import org.gnu.gtk.event</item> 41 <item>import org.gnu.pango</item> 42 <item>import org.gnu.gnomevte</item> 43 <item>import org.gnu.gnomevte.event</item> 44 </list> 45 </para> 46 </refsect1> 47 48 <refsect1 id="java-gnome-3-desc"><title>&desc-tt;</title> 49 <para><literal>&cmd;</literal> is a set of Java bindings for the Cairo 2D \ 50 Freedesktop.org 51 graphics API and a subset of bindings for the GNOME 2.x Developer Platform 52 Libraries namely glib, gtk, atk, gdk, pango, gnome, glade, gconf and vte 53 which allow GNOME and GTK+ applications to be written in Java. 54 </para> 55 <para>As one of the Official Gnome Platform Bindings, Java-Gnome follows the 56 GNOME schedule, and GNOME Bindings rules which guarantee API stability 57 and time-based releases. 58 </para> 59 <para><literal>&cmd;</literal> bindings consist of the following jars and \ 60 supporting jni 61 libraries: glib-java, cario-java, libgtk-java, libgnome-java, 62 libglade-java, libgconf-java and libvte-java. The first four provide the 63 core drawing, widget set, font, accessibility and application support for 64 Gnome Developers. libglade-java provides support to use Glade based XML 65 UI's in Java applications, created using the Gnome Glade UI designer. 66 libgconf-java provides an interface to the Gnome configuration 67 database for Java applications. libvte-java provides access to a gnome 68 terminal widget. 69 </para> 70 <para>Java-gnome bindings come with additional documentation: API javadoc, 71 source code jars for each library and example Java Gtk, Gnome and Glade 72 applications. 73 </para> 74 </refsect1> 75 76 <refsect1 id="java-gnome-3-intf"><title>&intf-tt;</title> 77 <informaltable frame="all"> 78 <tgroup cols="3" colsep="1" rowsep="1"> 79 <colspec colname="COLSPEC0" colwidth="1*"> 80 <colspec colname="COLSPEC1" colwidth="1*"> 81 <colspec colname="COLSPEC2" colwidth="1*"> 82 <thead> 83 <row> 84 <entry align="center" valign="middle">Interface</entry> 85 <entry align="center" valign="middle">Stability</entry> 86 <entry align="center" valign="middle">Comment</entry> 87 </row> 88 </thead> 89 <tbody> 90 <row> 91 <entry>org.freedesktop.cairo</entry> 92 <entry>Volatile</entry> 93 <entry> 94 <para>2D graphics library</para> 95 </entry> 96 </row> 97 <row> 98 <entry>org.gnu.atk</entry> 99 <entry>Volatile</entry> 100 <entry> 101 <para>Gnome Accessibility</para> 102 <para>Support</para> 103 </entry> 104 </row> 105 <row> 106 <entry>org.gnu.gconf</entry> 107 <entry>Volatile</entry> 108 <entry>Configuration Support</entry> 109 </row> 110 <row> 111 <entry>org.gnu.gdk</entry> 112 <entry>Volatile</entry> 113 <entry>Low level drawing support</entry> 114 </row> 115 <row> 116 <entry>org.gnu.glade</entry> 117 <entry>Volatile</entry> 118 <entry>Glade UI design support</entry> 119 </row> 120 <row> 121 <entry>org.gnu.glib</entry> 122 <entry>Volatile</entry> 123 <entry>Low level core API</entry> 124 </row> 125 <row> 126 <entry>org.gnu.gnome</entry> 127 <entry>Volatile</entry> 128 <entry>Gnome application support</entry> 129 </row> 130 <row> 131 <entry>org.gnu.gnome.event</entry> 132 <entry>Volatile</entry> 133 <entry> 134 <para>Gnome application</para> 135 <para>event support</para> 136 </entry> 137 </row> 138 <row> 139 <entry>org.gnu.gtk</entry> 140 <entry>Volatile</entry> 141 <entry>Gtk widget support</entry> 142 </row> 143 <row> 144 <entry>org.gnu.gtk.event</entry> 145 <entry>Volatile</entry> 146 <entry>Gtk widget event support</entry> 147 </row> 148 <row> 149 <entry>org.gnu.pango</entry> 150 <entry>Volatile</entry> 151 <entry> 152 <para>Gnome text</para> 153 <para>rendering support</para> 154 </entry> 155 </row> 156 <row> 157 <entry>org.gnu.gnomevte</entry> 158 <entry>Volatile</entry> 159 <entry> 160 <para>Gnome terminal</para> 161 <para>widget support</para> 162 </entry> 163 </row> 164 <row> 165 <entry>org.gnu.gnomevte.event</entry> 166 <entry>Volatile</entry> 167 <entry> 168 <para>Gnome terminal</para> 169 <para>widget event support</para> 170 </entry> 171 </row> 172 </tbody> 173 </tgroup> 174 </informaltable> 175 <note> 176 <para>The above interfaces have been marked as Volatile even though 177 they are marked as stable by the community [part of the Official Gnome 178 Bindings and so must adhere to API Binding Rules]. The reason for this 179 is that the community is planning an extensive redesign of the 2.x 180 series of Java-Gnome that will be released as a new 4.x series. Primary 181 goals are to incorporate some automation for interface generation and 182 simplify the exposed API, both of which will ease future maintenance 183 of the bindings. 184 </para> 185 <para>This new redesign will break backwards compatibility. However, as much 186 as possible the community is going to keep the older interfaces around 187 for several releases after the redesign. As the two interfaces will use 188 different namespaces they will be able to be installed on the same 189 system so developers will be able to plan a controlled deprecation of 190 the 2.x API's they are using. 191 </para> 192 </note> 193 194 </refsect1> 195 196 <refsect1 id="java-gnome-3-file"><title>&file-tt;</title> 197 <para>Jar files and shared libraries:</para> 198 <para> 199 200 <informaltable frame="all"> 201 <tgroup cols="3" colsep="1" rowsep="1"> 202 <colspec colname="COLSPEC0" colwidth="1*"> 203 <colspec colname="COLSPEC1" colwidth="1*"> 204 <colspec colname="COLSPEC2" colwidth="1*"> 205 <thead> 206 <row> 207 <entry>Spec Files</entry> 208 <entry> 209 <para>Delivers Jars to:</para> 210 <para><filename>/usr/share/lib/\ 211 java</filename></para> 212 </entry> 213 <entry> 214 <para>Delivers libs to:</para> 215 <para><filename>/usr/lib</filename></para> 216 </entry> 217 </row> 218 </thead> 219 <tbody> 220 <row> 221 <entry align="left">SUNWgnome-base-libs-java</entry> 222 <entry align="left"> 223 <filename>glib##.jar</filename> 224 <filename>cairo##.jar</filename> 225 <filename>gtk##.jar</filename> 226 <filename>glade##.jar</filename> 227 <filename>gnome##.jar</filename> 228 </entry> 229 <entry align="left"><filename>libglibjni-##.so</filename> 230 <filename>libcairojni-##.so</filename> 231 <filename>libgtkjni-##.so</filename> 232 <filename>libgladejni-##.so</filename> 233 <filename>libgnomejni-##.so</filename> 234 </entry> 235 </row> 236 <row> 237 <entry align="left">SUNWgnome-config-java</entry> 238 <entry align="left"><filename>gconf##.jar</filename></entry> 239 <entry align="left"><filename>libgconfjni-##.so</filename></entry> 240 </row> 241 <row> 242 <entry align="left">SUNWgnome-terminal-java</entry> 243 <entry align="left"><filename>libvte##.jar</filename></entry> 244 <entry align="left"><filename>libvtejni-##.so</filename></entry> 245 </row> 246 </tbody> 247 </tgroup> 248 </informaltable> 249 </para> 250 <para>Documentation files:</para> 251 <itemizedlist><listitem><para>API Javadoc for the Java-Gnome libraries 252 <screen><userinput>/usr/share/lib/java/javadoc/java-gnome/glib-java-##/api/\ 253 index.html 254 /usr/share/lib/java/javadoc/java-gnome/cairo-java-##/api/index.html 255 /usr/share/lib/java/javadoc/java-gnome/libgtk-java-##/api/index.html 256 /usr/share/lib/java/javadoc/java-gnome/libgnome-java-##/api/index.html 257 /usr/share/lib/java/javadoc/java-gnome/libglade-java-##/api/index.html 258 /usr/share/lib/java/javadoc/java-gnome/libgconf-java-##/api/index.html 259 /usr/share/lib/java/javadoc/java-gnome/libvte-java-##/api/\ 260 index.html</userinput></screen></para></listitem> 261 262 <listitem><para>Source jars for the Java-Gnome libraries 263 <screen><userinput>/usr/share/lib/java/src/java-gnome/glib##-src.jar 264 /usr/share/lib/java/src/java-gnome/cairo##-src.jar 265 /usr/share/lib/java/src/java-gnome/gtk##-src.jar 266 /usr/share/lib/java/src/java-gnome/gnome##-src.jar 267 /usr/share/lib/java/src/java-gnome/glade##-src.jar 268 /usr/share/lib/java/src/java-gnome/gconf##-src.jar 269 /usr/share/lib/java/src/java-gnome/\ 270 vte##-src.jar</userinput></screen></para></listitem> 271 <listitem><para>Examples for the Java-Gnome libraries 272 <screen><userinput>/usr/share/lib/java/javadoc/java-gnome/\ 273 libgtk-java-##/examples/* 274 /usr/share/lib/java/javadoc/java-gnome/libgnome-java-##/examples/* 275 /usr/share/lib/java/javadoc/java-gnome/libglade-java-##/examples/* 276 /usr/share/lib/java/javadoc/java-gnome/libgconf-java-##/examples/* 277 </userinput></screen></para></listitem> 278 </itemizedlist> 279 </refsect1> 280 281 <refsect1 ide="java-gnome-3-attr"><title>&attr-tt;</title> 282 <para>See attributes(5) for descriptions of the following attributes:</para> 283 <para> 284 <informaltable frame="all"> 285 <tgroup cols="2" colsep="1" rowsep="1"> 286 <colspec colname="COLSPEC0" colwidth="1*"> 287 <colspec colname="COLSPEC1" colwidth="1*"> 288 <thead> 289 <row> 290 <entry align="left" valign="bottom">ATTRIBUTE TYPE</entry> 291 <entry align="left" valign="bottom">ATTRIBUTE VALUE</entry> 292 </row> 293 </thead> 294 <tbody> 295 <row> 296 <entry align="left" valign="bottom">Availability</entry> 297 <entry align="left" valign="bottom">SUNWgnome-base-libs-java 298 SUNWgnome-config-java 299 SUNWgnome-terminal-java</entry> 300 </row> 301 <entry align="left" valign="bottom">Interface stability</entry> 302 <entry align="left" valign="bottom">Volatile</entry> 303 </tbody> 304 </tgroup> 305 </informaltable> 306 </para> 307 </refsect1> 308 309 <refsect1 ide="java-gnome-3-exam"><title>&exam-tt;</title> 310 <para>Copy the examples to a directory you have read/write access to so you can 311 compile and run them. You can use the helper runExample.sh script provided in 312 the examples directory or compile and run them directly adding the appropriate 313 jars to the classpath. 314 </para> 315 <orderedlist> 316 <listitem><para>Compile and run Gtk example:</para> 317 <screen><userinput>$ cd ~/examples-gtk 318 ./runExample.sh testgtk/TestGTK</userinput></screen> 319 </listitem> 320 <listitem><para>Compile and run Gnome example:</para> 321 <screen><userinput>$ cd ~/examples-gnome 322 ./runExample.sh testgnome/TestGNOME</userinput></screen> 323 </listitem> 324 <listitem><para>Compile and run glade example:</para> 325 <para>$ cd ~/examples-glade</para> 326 <para>$ javac -classpath /usr/share/lib/java/glib0.4.jar:\\ 327 /usr/share/lib/java/gtk2.10.jar:\\ 328 /usr/share/lib/java/glade2.12.jar \\ 329 glade/LibGladeTest.java</para> 330 <para>$ java -classpath .:/usr/share/lib/java/glib0.4.jar:\\ 331 /usr/share/lib/java/gtk2.10.jar:\\ 332 /usr/share/lib/java/glade2.12.jar \\ 333 glade/LibGladeTest glade/gtk.glade </para> 334 </listitem> 335 </orderedlist> 336 </refsect1> 337 338 <refsect1 id="java-gnome-3-also"><title>&also-tt;</title> 339 <!--Reference to another man page--> 340 <!--Reference to a Help manual--> 341 <!--Reference to a book.--> 342 <list> 343 <item><screen>Java-Gnome Community HomePage: 344 <literal>http://java-gnome.sourceforge.net</literal></screen></item> 345 <item><screen>Java-Gnome Community Documentation: 346 <literal>http://java-gnome.sourceforge.net/cgi-bin/bin/view/Main/\ 347 HintsAndTips</literal></screen></item> 348 <item><screen>Gnome Language Bindings: 349 <literal>http://developer.gnome.org/arch/lang/</literal></screen></item> 350 <item><screen>Gnome Platform Binding Rules: 351 <literal>http://cvs.gnome.org/viewcvs/web-devel-2/content/dotplan/\ 352 bindings/rules.html?rev=1.5</literal></screen></item> 353 <listitem><screen>Gnome Platform Bindings requirements: 354 <literal>http://live.gnome.org/ReleasePlanning/ModuleRequirements/\ 355 PlaformBindings</literal></screen></item> 356 <item><screen>Gtk Bindings: 357 <literal>http://www.gtk.org/bindings.html</literal></screen></item> 358 </list> 359 </refsect1> 360 361 <refsect1 id="java-gnome-3-note"><title>¬e-tt;</title> 362 <para>This man page was written by John Rice, Sun Microsystems Inc., 2006. 363 Updated by Michal Pryc, Sun Microsystems Inc., November 2006.</para> 364 </refsect1> 365 366 </refentry> 367