JavaFX - Mimari
JavaFX, zengin grafiklere sahip GUI uygulamaları oluşturmak için zengin sınıflar ve arabirimler içeren eksiksiz bir API sağlar. Bu API'nin önemli paketleri:
javafx.animation - JavaFX düğümlerine dolgu, solma, döndürme, ölçekleme ve çevirme gibi geçiş tabanlı animasyonlar eklemek için sınıflar içerir.
javafx.application - JavaFX uygulama yaşam döngüsünden sorumlu bir dizi sınıf içerir.
javafx.css - JavaFX GUI uygulamalarına CSS benzeri stil eklemek için sınıflar içerir.
javafx.event - JavaFX olaylarını iletmek ve işlemek için sınıflar ve arayüzler içerir.
javafx.geometry - 2D nesneleri tanımlamak ve üzerlerinde işlem yapmak için sınıflar içerir.
javafx.stage - Bu paket, JavaFX uygulaması için en üst düzey konteyner sınıflarını içerir.
javafx.scene- Bu paket, sahne grafiğini desteklemek için sınıflar ve arayüzler sağlar. Ek olarak, tuval, grafik, kontrol, efekt, görüntü, giriş, düzen, medya, boyama, şekil, metin, dönüştürme, web vb. Gibi alt paketler de sağlar. JavaFX'in bu zengin API'sini destekleyen çeşitli bileşenler vardır. .
Aşağıdaki şekil JavaFX API mimarisini göstermektedir. Burada JavaFX API'yi destekleyen bileşenleri görebilirsiniz.
Sahne Grafiği
JavaFX'te, GUI Uygulamaları bir Sahne Grafiği kullanılarak kodlandı. Sahne Grafiği, GUI Uygulamasının oluşturulmasının başlangıç noktasıdır. Düğümler olarak adlandırılan (GUI) uygulama ilkelerini tutar.
Bir düğüm görsel / grafiksel bir nesnedir ve şunları içerebilir:
Geometrical (Graphical) objects - (2D ve 3D) örneğin daire, dikdörtgen, çokgen vb.
UI controls - Düğme, Onay Kutusu, Seçim kutusu, Metin Alanı vb.
Containers - Kenar Bölmesi, Izgara Bölmesi, Akış Bölmesi vb. Gibi (düzen bölmeleri)
Media elements - ses, video ve görüntü nesneleri gibi.
Genel olarak, bir düğüm koleksiyonu bir sahne grafiği oluşturur. Tüm bu düğümler, aşağıda gösterildiği gibi hiyerarşik bir sırada düzenlenmiştir.
Sahne grafiğindeki her düğümün tek bir ebeveyni vardır ve herhangi bir üst öğe içermeyen düğüm, root node.
Aynı şekilde, her düğümün bir veya daha fazla çocuğu vardır ve çocuksuz düğüm şu şekilde adlandırılır: leaf node; çocuklu bir düğüm olarak adlandırılırbranch node.
Bir düğüm örneği, sahne grafiğine yalnızca bir kez eklenebilir. Bir sahne grafiğinin düğümlerinde Efektler, Opaklık, Dönüşümler, Olay İşleyicileri, Olay İşleyicileri, Uygulamaya Özel Durumlar bulunabilir.
Prizma
Prizma bir high performance hardware–accelerated graphical pipelineJavaFX'te grafikleri işlemek için kullanılır. Hem 2 boyutlu hem de 3 boyutlu grafikleri işleyebilir.
Grafik oluşturmak için Prism kullanır -
- Windows XP ve Vista'da DirectX 9.
- Windows 7'de DirectX 11.
- Mac ve Linux'ta OpenGL, Gömülü Sistemler.
Sistemdeki grafikler için donanım desteğinin yeterli olmaması durumunda, Prism grafikleri işlemek için yazılım oluşturma yolunu kullanır.
Desteklenen bir Grafik Kartı veya GPU ile kullanıldığında daha pürüzsüz grafikler sunar. Sistemin bir grafik kartını desteklememesi durumunda, Prism varsayılan olarak yazılım oluşturma yığınını kullanır (yukarıdaki ikisinden biri).
GWT (Cam Pencereleme Araç Seti)
Adından da anlaşılacağı gibi GWT, Windows'u, Zamanlayıcıları, Yüzeyleri ve Olay Sıralarını yönetmek için hizmetler sağlar. GWT, JavaFX Platformunu Yerel İşletim Sistemine bağlar.
Kuantum Araç Seti
Prism, Glass, Media Engine ve Web Engine'in düşük seviyeli bileşenlerine dair bir soyutlamadır. Prism ve GWT'yi birbirine bağlar ve bunları JavaFX için kullanılabilir hale getirir.
Web Görünümü
JavaFX kullanarak, HTML içeriğini bir sahne grafiğine de gömebilirsiniz. WebView, bu içeriği işlemek için kullanılan JavaFX bileşenidir. Adlı bir teknoloji kullanırWeb Kit, dahili bir açık kaynaklı web tarayıcı motoru olan. Bu bileşen, HTML5, CSS, JavaScript, DOM ve SVG gibi farklı web teknolojilerini destekler.
WebView kullanarak şunları yapabilirsiniz:
- Yerel veya uzak URL'den HTML içeriğini oluşturun.
- Destek geçmişi ve Geri ve İleri gezinme sağlar.
- İçeriği yeniden yükleyin.
- Web bileşenine efektler uygulayın.
- HTML içeriğini düzenleyin.
- JavaScript komutlarını yürütün.
- Olayları yönetin.
Genel olarak, WebView kullanarak web içeriğini Java'dan kontrol edebilirsiniz.
Medya Motoru
JavaFX media engine olarak bilinen açık kaynaklı bir motoru temel alır Streamer. Bu medya motoru, video ve ses içeriğinin oynatılmasını destekler.
JavaFX ortam motoru, aşağıdaki dosya biçimleri için ses desteği sağlar -
Audio |
|
---|---|
Video |
|
Paket javafx.scene.mediaJavaFX'te ortam işlevselliği sağlamak için sınıfları ve arabirimleri içerir. Üç bileşen şeklinde sağlanır:
Media Object - Bu bir medya dosyasını temsil eder
Media Player - Medya içeriğini oynatmak için.
Media View - Medyayı görüntülemek için.