Java Gnome FAQ First steps

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: In this part of the Java Gnome programming tutorial, we will do our first steps in programming. We will create simple programs. == Simple example == The first code example is a simpl...)
(нарушало авторские права)
 
Строка 1: Строка 1:
-
In this part of the Java Gnome programming tutorial,  we will do our first steps in programming.
 
-
We will create simple programs.
 
-
== Simple example ==
 
-
 
-
The first code example is a simple one that shows a centered window. 
 
-
 
-
<source lang="java">
 
-
 
-
package com.zetcode;
 
-
 
-
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;
 
-
 
-
 
-
/**
 
-
* ZetCode Java Gnome tutorial
 
-
*
 
-
* This program is a simple Java Gnome
 
-
* application.
 
-
*
 
-
* @author jan bodnar
 
-
* website zetcode.com
 
-
* last modified March 2009
 
-
*/
 
-
 
-
public class GSimple extends Window  {
 
-
 
-
    public GSimple() {
 
-
   
 
-
        setTitle("Simple");
 
-
   
 
-
        connect(new Window.DeleteEvent() {
 
-
            public boolean onDeleteEvent(Widget source, Event event) {
 
-
                Gtk.mainQuit();
 
-
                return false;
 
-
            }
 
-
        });
 
-
       
 
-
        setDefaultSize(250, 150);
 
-
        setPosition(WindowPosition.CENTER);
 
-
        show();
 
-
    }
 
-
   
 
-
    public static void main(String[] args) {
 
-
        Gtk.init(args);
 
-
        new GSimple();
 
-
        Gtk.main();
 
-
    }
 
-
}
 
-
</source>
 
-
 
-
The code example shows a small window in the center of the screen.
 
-
 
-
<source lang="java">
 
-
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;
 
-
</source>
 
-
 
-
We import all necessary objects.
 
-
 
-
<source lang="java">
 
-
public class GSimple extends Window  {
 
-
</source>
 
-
 
-
Our application is based on the <b>Window</b> class.
 
-
Window is a toplevel widget that is used as a container for other widgets.
 
-
 
-
<source lang="java">
 
-
setTitle("Simple");
 
-
 
-
</source>
 
-
 
-
Here we set the title for the window.
 
-
 
-
<source lang="java">
 
-
connect(new Window.DeleteEvent() {
 
-
    public boolean onDeleteEvent(Widget source, Event event) {
 
-
        Gtk.mainQuit();
 
-
        return false;
 
-
    }
 
-
});
 
-
</source>
 
-
 
-
This code cleanly exits the Java Gnome application, if we close the window.
 
-
 
-
<source lang="java">
 
-
setDefaultSize(250, 150);
 
-
 
-
</source>
 
-
 
-
This line sets a default size for the window.
 
-
 
-
<source lang="java">
 
-
setPosition(WindowPosition.CENTER);
 
-
</source>
 
-
 
-
This line centers the window on the screen.
 
-
 
-
<source lang="java">
 
-
show();
 
-
 
-
</source>
 
-
 
-
Now we show the window. The window is not visible, until we call the <b>show()</b> method.
 
-
 
-
<source lang="java">
 
-
public static void main(String[] args) {
 
-
    Gtk.init(args);
 
-
    new GSimple();
 
-
    Gtk.main();
 
-
}
 
-
</source>
 
-
 
-
The <b>main()</b> method is the entry point to the application. It initiates and runs the program.
 
-
 
-
[[image: Java_Gnome_faq_simple.png| center]]
 
-
 
-
 
-
== Icon ==
 
-
 
-
In the next example, we show the application icon. Most window managers display the icon in the left corner of the titlebar and also on the taskbar.
 
-
 
-
<source lang="java">
 
-
package com.zetcode;
 
-
 
-
import java.io.FileNotFoundException;
 
-
 
-
import org.gnome.gdk.Event;
 
-
import org.gnome.gdk.Pixbuf;
 
-
import org.gnome.gtk.Gtk;
 
-
import org.gnome.gtk.Widget;
 
-
import org.gnome.gtk.Window;
 
-
import org.gnome.gtk.WindowPosition;
 
-
 
-
 
-
/**
 
-
* ZetCode Java Gnome tutorial
 
-
*
 
-
* This program shows a small icon
 
-
* in the top left corner of the window.
 
-
*
 
-
* @author jan bodnar
 
-
* website zetcode.com
 
-
* last modified March 2009
 
-
*/
 
-
 
-
public class GIcon extends Window implements Window.DeleteEvent {
 
-
 
-
    Pixbuf icon;
 
-
 
-
    public GIcon() {
 
-
   
 
-
        setTitle("Icon");
 
-
   
 
-
        initUI();
 
-
       
 
-
        connect(this);
 
-
       
 
-
        setDefaultSize(250, 150);
 
-
        setPosition(WindowPosition.CENTER);
 
-
        show();
 
-
    }
 
-
   
 
-
    public void initUI() {
 
-
 
-
        try {
 
-
            icon = new Pixbuf("web.png");
 
-
        } catch (FileNotFoundException e) {
 
-
            e.printStackTrace();
 
-
        }
 
-
       
 
-
        setIcon(icon);
 
-
    }
 
-
   
 
-
    public boolean onDeleteEvent(Widget widget, Event event) {
 
-
        Gtk.mainQuit();
 
-
        return false;
 
-
    }
 
-
   
 
-
    public static void main(String[] args) {
 
-
 
-
        Gtk.init(args);
 
-
        new GIcon();
 
-
        Gtk.main();
 
-
    }
 
-
}
 
-
</source>
 
-
 
-
The code example shows the application icon.
 
-
 
-
<source lang="java">
 
-
initUI();
 
-
</source>
 
-
 
-
We delegate the setup of the user interface to the  <b>initUI()</b> method.
 
-
 
-
<source lang="java">
 
-
try {
 
-
    icon = new Pixbuf("web.png");
 
-
} catch (FileNotFoundException e) {
 
-
    e.printStackTrace();
 
-
}
 
-
</source>
 
-
 
-
We load a pixbuf from the file on the disk.
 
-
 
-
<source lang="java">
 
-
setIcon(icon);
 
-
</source>
 
-
 
-
 
-
The <b>setIcon()</b> method sets an icon for the window.
 
-
 
-
[[image: Java_Gnome_faq_icon.png| center]]
 
-
 
-
== Buttons ==
 
-
 
-
In the next example, we will further enhance our programming skills with the Java Gnome library.
 
-
 
-
<source lang="java">
 
-
 
-
package com.zetcode;
 
-
 
-
import org.gnome.gdk.Event;
 
-
import org.gnome.gtk.Button;
 
-
import org.gnome.gtk.Fixed;
 
-
import org.gnome.gtk.Gtk;
 
-
import org.gnome.gtk.Stock;
 
-
import org.gnome.gtk.Widget;
 
-
import org.gnome.gtk.Window;
 
-
import org.gnome.gtk.WindowPosition;
 
-
 
-
/**
 
-
* ZetCode Java Gnome tutorial
 
-
*
 
-
* This program shows four buttons
 
-
* with different characteristics.
 
-
*
 
-
* @author jan bodnar
 
-
* website zetcode.com
 
-
* last modified March 2009
 
-
*/
 
-
 
-
public class GButtons extends Window {
 
-
 
-
    public GButtons() {
 
-
        setTitle("Buttons");
 
-
       
 
-
        initUI();
 
-
       
 
-
        connect(new Window.DeleteEvent() {
 
-
            public boolean onDeleteEvent(Widget source, Event event) {
 
-
                Gtk.mainQuit();
 
-
                return false;
 
-
            }
 
-
        });
 
-
       
 
-
        setDefaultSize(250, 200);
 
-
        setPosition(WindowPosition.CENTER);
 
-
        showAll();
 
-
    }
 
-
   
 
-
   
 
-
    public void initUI() {
 
-
        Fixed fix = new Fixed();
 
-
 
-
        Button btn1 = new Button("Button");
 
-
        btn1.setSensitive(false);
 
-
        Button btn2 = new Button("Button");
 
-
        Button btn3 = new Button(Stock.CLOSE);
 
-
        Button btn4 = new Button("Button");
 
-
        btn4.setSizeRequest(80, 40);
 
-
 
-
        fix.put(btn1, 20, 30);
 
-
        fix.put(btn2, 100, 30);
 
-
        fix.put(btn3, 20, 80);
 
-
        fix.put(btn4, 100, 80);
 
-
       
 
-
        add(fix);
 
-
    }
 
-
   
 
-
    public static void main(String[] args) {
 
-
        Gtk.init(args);
 
-
        new GButtons();
 
-
        Gtk.main();
 
-
    }
 
-
}
 
-
</source>
 
-
 
-
We show four different buttons on the window. We will see a difference between container widgets and child widgets and will change some properties of child widgets.
 
-
 
-
<source lang="java">
 
-
Fixed fix = new Fixed();
 
-
 
-
</source>
 
-
 
-
<b>Fixed</b> widget is a non visible container widget. It's purpose is to contain other child widgets.
 
-
 
-
<source lang="java">
 
-
Button btn1 = new Button("Button");
 
-
</source>
 
-
 
-
A <b>Button</b> is a child widget. Child widgets are placed inside containers.
 
-
 
-
<source lang="java">
 
-
btn1.setSensitive(false);
 
-
</source>
 
-
 
-
We make this button insensitive. This means, we cannot click on it.  Graphically the widget is grayed out.
 
-
 
-
<source lang="java">
 
-
Button btn3 = new Button(Stock.CLOSE);
 
-
</source>
 
-
 
-
The third button shows an image inside it's area. The Java Gnome library has a built-in stock of images, that we can use.
 
-
 
-
<source lang="java">
 
-
btn4.setSizeRequest(80, 40);
 
-
</source>
 
-
 
-
Here we change the size of the button.
 
-
 
-
<source lang="java">
 
-
fix.put(btn1, 20, 30);
 
-
fix.put(btn2, 100, 30);
 
-
...
 
-
</source>
 
-
 
-
Here we place button widgets inside fixed container widget.
 
-
 
-
<source lang="java">
 
-
add(fix);
 
-
</source>
 
-
 
-
We set the <b>Fixed</b> container to be the main container for  our <b>Window</b> widget.
 
-
 
-
<source lang="java">
 
-
showAll();
 
-
</source>
 
-
 
-
We can either call <b>showAll()</b> method, which shows all widgets  at once, or we call <b>show()</b> method on each of the widgets.
 
-
Including containers.
 
-
 
-
[[image: Java_Gnome_faq_buttons.png| center]]
 
-
 
-
In this chapter, we created first programs in Java Gnome programming library.
 
-
 
-
[[Категория:GTK+]]
 
-
[[Категория:Java]]
 

Текущая версия на 11:20, 7 апреля 2009