Δημοσιεύτηκε: 23 Ιουν 2011, 00:22
από giannosfor
Αν θέλουμε να δημιουργήσουμε γραφικά χρησιμοποιώντας Java και τις βιβλιοθήκες της gnome.
Spoiler: show
Εγκαθιστούμε τις βιβλιοθήκες.
Κώδικας: Επιλογή όλων
# sudo apt-get install libjava-gnome-java
# sudo apt-get install default-jdk

έπειτα γράφουμε το κώδικα
Κώδικας: Επιλογή όλων
import org.gnome.gdk.Event;
import org.gnome.gtk.Button;
import org.gnome.gtk.Gtk;
import org.gnome.gtk.Label;
import org.gnome.gtk.Widget;
import org.gnome.gtk.Window;
import org.gnome.gtk.WindowPosition;

public class ExampleQuit
{
    public static void main(String[] args) {
        final Window w;
        final Label l;
        final Button b;

        Gtk.init(args);
        w = new Window();
        b = new Button("Press me!");
        w.add(b);
        b.connect(new Button.Clicked() {
            public void onClicked(Button source) {   
      Gtk.mainQuit();
            }
        });
        w.setTitle("Button_Exit");
   w.setDefaultSize(250, 150);
   w.setPosition(WindowPosition.CENTER);
        w.showAll();

        w.connect(new Window.DeleteEvent() {
            public boolean onDeleteEvent(Widget source, Event event) {
                Gtk.mainQuit();
                return false;
            }
        });
   
   
        Gtk.main();
    }
}
Γιά όσους ξέρουν Java τα πράγματα δεν είναι πολύ δύσκολα.
Το παραπάνω πρόγραμμα δημιουργεί ένα παράθυρο το οποίο περιέχει ένα κουμπί.Ας τα πάρουμε απ'την αρχή.

Εισάγει τις βιβλιοθήκες που θα χρειαστούμε.Αντίστοιχες βιβλιοθήκες είναι η Swing και Awt.
Κώδικας: Επιλογή όλων
import org.gnome.gdk.Event;
import org.gnome.gtk.Button;
import org.gnome.gtk.Gtk;
import org.gnome.gtk.Label;
import org.gnome.gtk.Widget;
import org.gnome.gtk.Window;
import org.gnome.gtk.WindowPosition;
Αρχικοπιοεί τι Gtk βιβλιιοθήκες.
Κώδικας: Επιλογή όλων
Gtk.init(args);
Δημιουργεί ένα Window το οποίο είναι top level container (Widgets) στο οποίο βάζει έπειτα το κουμπί που δημιουργεί.
Ποιο κάτω συνδέει το κουμπί με ένα χειριστή συμβάντος αν δηλαδή το κλικάρουμε να συμβεί κάτι,στο συγκεκριμένο να τερματίσει το πρόγραμμα.
Κώδικας: Επιλογή όλων
w = new Window();
        b = new Button("Press me!");
        w.add(b);
        b.connect(new Button.Clicked() {
            public void onClicked(Button source) {   
      Gtk.mainQuit();
            }
        });
Σε αυτό το κομμάτι ασχολείται με το top level container το window.Του ορίζει τίτλο,μέγεθος,το στοιχίζει στη μέση και το εμφανίζει μάζι με το περιεχόμενο του.
Κώδικας: Επιλογή όλων
w.setTitle("Button_Exit");
   w.setDefaultSize(250, 150);
   w.setPosition(WindowPosition.CENTER);
        w.showAll();
Χειριστή ώστε να κλείσει το πρόγραμμα αν κλείσει το παράθυρο.
Κώδικας: Επιλογή όλων
w.connect(new Window.DeleteEvent() {
            public boolean onDeleteEvent(Widget source, Event event) {
                Gtk.mainQuit();
                return false;
            }
        });
Αρχικοποιεί και τρέχει το πρόγραμμα.
Κώδικας: Επιλογή όλων
Gtk.main();

Αυτό ήταν τώρα για να το κάνουμε complile
Κώδικας: Επιλογή όλων
javac -cp /usr/share/java/gtk.jar ExampleQuit.java
και για να το τρέξουμε
Κώδικας: Επιλογή όλων
java -cp /usr/share/java/gtk.jar:. ExampleQuit


Χρήσιμες σελίδες http://java-gnome.sourceforge.net/ http://zetcode.com/tutorials/javagnometutorial/