İçindekiler:
- JavaFX'te tüm dünya bir aşama
- JavaFX'te düzen yöneticileri düğümlerdir
- JavaFX,
- JavaFX özellikleri
- JavaFX CSS
- JavaFX'in daha tutarlı denetimleri vardır
- JavaFX'in özel efektleri var
- Animasyon JavaFX
- JavaFX, modern dokunmatik aygıtları destekler
- JavaFX, JOptionPane
Video: Java Swing - 01 - Temel Bilgiler 2024
Eğer deneyimli bir Java programcısıysanız kuşkusuz kullanıcı arayüzleri oluşturmak için Swing ile çalıştınız demektir. Oracle tamamen Swing'i terk etmedi - kullanımdan kaldırılmadı ve Swing uygulamaları çalışmaya devam ediyor. Ancak artık Swing'i geliştirmek için herhangi bir çalışma yapılmıyor ve Oracle, JavaFX'in geleceğini açıkça belirtti.
İşte JavaFX ve Swing arasındaki on temel farklar.
JavaFX'te tüm dünya bir aşama
! --1 ->Swing'de, kullanıcı arabirimi bileşenlerini tutan sınıfa çerçeve adı verilir ve JFrame sınıfı tarafından tanımlanır. Bir çerçeve aslında, kullanıcı arabirimi öğeleriniz için bir konteyner görevi gören bir paneli, ekleyebileceğiniz boş bir penceredir. Bir panel JPanel sınıfı tarafından tanımlanır.
Bir Swing uygulaması aslında JFrame sınıfını genişleten bir sınıftır. Kullanıcı arabirimi bileşenlerini görüntülemek için bileşenleri bir JPanel'e ekleyin ve sonra paneli çerçeveye ekleyin.
JavaFX, tiyatronun metaforunu bir uygulamanın en üst düzey kaplarını modellemek için kullanır. Aşama (Stage sınıfı ile tanımlanır) en üst düzey konteyneri temsil eder - tipik olarak bir pencere, ancak bazı işletim sistemlerinde sahne tüm görüntüleme yüzeyini temsil edebilir. Kullanıcı arabirimini oluşturan tek tek kontroller ve diğer bileşenler sahnesindeki ( ) (Sahne sınıfıyla tanımlanır) bulunmaktadır. Bir uygulama birden fazla sahneye sahip olabilir, ancak sahnede herhangi bir zamanda yalnızca bir sahne gösterilebilir.
Bir sahne, JavaFX'in en önemli konsepti olan sahne grafiğini () içerir. Sahne grafiği, kullanıcı arayüzünü oluşturan tüm öğelerin bir araya toplanmasıdır - gruplar, düzenler, denetimler ve şekiller. Bu nesnelere düğümler adı verilir ve hepsi Düğüm sınıfından türetilir. Düğüm sınıfı, kullanıcı arabirinize ekleyebileceğiniz herhangi bir nesneye otomatik olarak erişilebilen pek çok yararlı özellik ve kabiliyete sahiptir. Örneğin, Node sınıfı, sahne grafiğindeki herhangi bir düğümü döndürmenize olanak tanıyan bir setRotate yöntemi tanımlar.
JavaFX'te düzen yöneticileri düğümlerdir
Swing'de bir düzen, bir JPanel ile ilişkilidir. Üst seviye JPanel, çerçevenin temel düzenini verir. Üst düzey düzen içinde ek düzenleri yuvalamak istiyorsanız, ek JPaneller oluşturmanız, ilişkili düzenlerini ayarlamanız ve daha sonra üst düzey mizanpaja eklemeniz gerekir.
JavaFX'te, düzenler sadece düğüm sınıfının alt sınıfları olup, kontroller ve şekiller gibi. Düzenler bir düğüm koleksiyonu içerir ve bir düzen içindeki herhangi bir düğüm herhangi bir düğüm türü olabilir: denetim, şekil veya başka bir düzen.Bu düzen, Swing'in düzenlerle paneller arasındaki ilişkiden daha az hantaldır.
JavaFX,
olay kaydını geliştirdi. JavaFX ve Swing, kullanıcı girişi olaylarına yanıt vermek için olay işleme özelliğini kullanıyor. Bununla birlikte, JavaFX'deki olayların Swing'deki eşdeğerlerinden daha iyi düşünülmüş ve daha tutarlı olduğunu göreceksiniz. Ancak, JavaFX'te olayların ele alınmasının en büyük nedeni, özelliklere olan güveninden kaynaklanmaktadır.
JavaFX özellikleri
destekler JavaFX, özellikler kavramlarını destekler ve sınıfları boyunca kapsamlı bir şekilde özellikleri kullanır. Basitçe söylemek gerekirse, bir mülkiyet değeri gözlemlenebilen bir değişkentir. Mülk değiştiğinde otomatik olarak tetiklenen kodu yazmanıza izin veren bir dinleyiciyi herhangi bir mülke kayıt edebilirsiniz. Buna ek olarak özelliklerini birbirine bağlayabilirsiniz, yani bir mülk değeri değişirse diğer mülk değeri otomatik olarak değişir.
Kullanıcı arabirimi öğelerinin neredeyse tüm özellikleri özelliklerle yönetildiğinden, JavaFX Swing'de duyulmamış olan olay yönetimi sağlar. Örneğin, JavaFX'de bir şeklin rengine bir olay dinleyicisi iliştirebilirsiniz. Şekil renk değiştirirse, etkinlik dinleyiciniz kodu çalıştırılır. Yetenek için bir kullanmanız olmayabilir, ancak gerekiyorsa kullanabilirsiniz.
JavaFX CSS
ile düzenlenebilir. JavaFX'in en iyi özelliklerinden biri, Basamaklı Stil Sayfaları (CSS) ile biçimlendirmeyi kontrol edebilmenizdir. Kullanıcı arayüzünüzün görünüşünün hemen her yönü bir stil kuralı ile ayarlanabilir ve kullanıcının sahneye uygulanacak birkaç stil sayfasından hangisini seçmesine kolayca izin verebilirsiniz. Böylece, uygulamanızın tüm görünümünü tek bir yöntem çağrısıyla değiştirebilirsiniz.
JavaFX'in daha tutarlı denetimleri vardır
Genel olarak, JavaFX denetim hiyerarşisinin Swing'in tamamından daha kapsamlı olduğunu bulacaksınız. Her ikisinin de temel denetimleri vardır - düğmeler, onay kutuları, açılır kutular ve benzeri. Ancak JavaFX'in, çökmüş TitledPane kontrolü ve birden fazla TitledPane denetimini yığın içinde düzenleyen Accordion denetimi gibi Swing'in sahip olmadığı birkaç ilginç denetim vardır. Ve tüm bu kontrollerin CSS tarafından skinnable olmasının Swing'e kıyasla onlara büyük bir avantaj sağladığı anlamına gelir.
JavaFX'in özel efektleri var
The javafx. faliyet alani, sahne. efekt paketi, sahne grafiğindeki herhangi bir düğüme kolayca özel efektler uygulayabilen bir takım sınıflar içeriyor. Bu sınıflar, kullanıcı arayüzünüzün görünümünü dönüştüren gölgeler, yansımalar, bulanıklıklar ve diğer ilginç görsel efektleri kolayca uygulamanıza izin verir.
Animasyon JavaFX
'da daha kolaydır Animasyon, Swing'de mümkündür, ancak Swing doğrudan destek sağlamamaktadır. Bir Swing bileşenini canlandırmak için, kendi zamanlayıcılarınızı ayarlamanız ve animasyonu gerçekleştirmek için kendi mantığı oluşturmanız gerekir.
Bunun tersine, JavaFX, sahne grafiğindeki herhangi bir düğüme uygulanabilen karmaşık animasyonlar için dahili bir desteğe sahiptir. Solgunluklar, dönüşler veya hareket yolları gibi ortak animasyonları gerçekleştirmek için birkaç dahili geçiş sınıfından birini kullanabilirsiniz.Veya özel animasyonları kolayca kurmak için KeyFrame ve Zaman Çizelgesi sınıflarını kullanabilirsiniz.
JavaFX, modern dokunmatik aygıtları destekler
Swing, modern dokunmatik aygıtlar için herhangi bir destek bulamadı. Bunun aksine, JavaFX, kaydırma, kaydırma, döndürme ve yakınlaştırma gibi genel dokunuş hareketlerini destekler. Bu olayları JavaFX'de ele almak, başka herhangi bir olayın ele alınması kadar kolaydır: Dokunma olayına bir olay dinleyicisi yüklemeniz ve ardından uygun yanıt veren kod yazmanız yeterlidir.
JavaFX, JOptionPane
ile eşdeğer değildir. Bu on farkın listesini açıkça JavaFX'in lehine olan puanlarla doldurmanın adil olmayacağı. JavaFX'in bir küçük rahatsızlığı: Kullanıcıların basit uyarı mesajlarını görüntüleme veya basit uyarı alma işlemleri için çok kullanışlı olan Swing'in JOptionpane sınıfına eşdeğer bir yerleşik yoktur. JavaFX'te, bu yararlı sınıfa kendi eşdeğerinizi hazırlamanız gerekir.