Java FX 2.0 teknolojisi ve ornek kod

javafx
  • Turgay Can
  • Tarih

    26 Dec, 2012
  • Yorum

    0
  • Görüntüleme

    2141
  • İndirme

    0

Java FX 2.0 teknolojisi ve ornek kod

Merhaba,

Java'nin yeni masaüstü programlamaciligi ve daha fazlasi olan FX teknolojileri ile hasir nesir olmaktayim. FX hem masaüstü hemde web içinde rahatça çalisabiliyor. Hatta Netbeans IDE ile direkt entegre sekilde bir output almaniza imkan sagliyor. Bunun yanisira GlassFish Application Server ile full entegre çalisiyor. MVC yapisi hakim bir teknoloji, yeni bir arayüz gelistirme aracida mevcut. JavaFX Scene Builder. Bu aracin 1.1 versiyonunu tavsiye ederim.

MVC yapisinda FXML dosyalarimiz View katmani Java siniflari yada EJB kisimi Controller, JPA yada OR/M ile de Model katmaninizi rahatça insa edebilirsiniz.

FX , arayüz tarafinda css destegi vermesi standart bilesenlerinin yaninda görsellik olarak bir css dosyasi içine bütün sinfilarinizi tanimlayip bilesenlerinize id yada styleClass özelligine ilistirmek yeterli oluyor.

JavaFX2.0 ve sonrasi ile modern J2EE'yi masaüstüne tasimis. Eski teknolojisi olan swing'ide hemen birakmamis çünkü FX yeni sürümü ile eski Swing uygulamalarida topyekün dislamamis. Onlarda bu teknoloji içinde yer alabiliyor. Bu bence sadece bir geçis süreci olacaktir. Ilerleyen sürümlerinde Swing teknolojilerinden FXML'e geçisler yükseldikçe, Swing içinde destegi yavas yavas kesecektir.

FX ile herhangi bir proje build ettiginizde size NetBeans IDE için dist klasörü altinda ;

 1. web-files
 2. projead.html
 3. projead.jar
 4. projead.jnlp

web files klasörü ve altinda javascript ve standart imaj dosyalari ve 2,3,4. maddelerdeki dosyalari yaratiyor.

FX ile uygulama gelistirmek J2EE ile uygulama gelistirmek ile neredeyse ayni hatta bana göre ayni sadece runtime ve ortam kütüphaneleri kismen farkli. Su ana kadar 2 tane küçük çapli uygulama gelistirdim bu teknoloji ile birisi Multithread socket tabanli Chat uygulamasi digeri ise sahibinden.com'un detayli aramasi gibi bir Araç Sorgulama uygulamasi. Uygulamalar hem web hemde masaüstü ortaminda oldukça stabil ve kullanici dostu olarak hizmet veriyor :)

Son olarak basit bir kod parçacigi paylasayim;

FXML'in çagrilmasi ve aktif ekrana göre boyutlandirilmasi

package mychat;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Rectangle2D;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Screen;
import javafx.stage.Stage;

/**
 *
 * @author turgay.can
 */
public class SimpleChat extends Application {

    private Stage stage;

    public static void main(String[] args) {
        Application.launch(mychat.SimpleChat.class, args);
    }

    @Override
    public void start(Stage stage) throws Exception {

        //views klasörü altindaki FXML dosyasinin çagirilmasi
        Parent root = FXMLLoader.load(getClass().getResource("views/Login.fxml"));
        stage.setTitle("Giris Ekrani");
        stage.setScene(new Scene(root));
        //Aktif pencerenin boyutunu alip, yeni açilacak pencereyi ona göre ayarlamak
        Screen screen = Screen.getPrimary();
        Rectangle2D bounds = screen.getVisualBounds();
        stage.setX(100);
        stage.setY(100);
        stage.setWidth(bounds.getWidth() / 1.5);
        stage.setHeight(bounds.getHeight() / 1.2);
        stage.show();

    }
}

0 Yorum..

Yorum yapmak için "Giriş yapın" yada "Misafir üye" olarak yorum yapabilirsiniz.

Yorum Yap