Ev Kişisel Finans JavaFX App'taki tüm Kelimeler Nedir? - mankenler

JavaFX App'taki tüm Kelimeler Nedir? - mankenler

İçindekiler:

Video: Java 21 - Metot ve Fonksiyonlar 2024

Video: Java 21 - Metot ve Fonksiyonlar 2024
Anonim

JavaFX çerçevesini kullanarak, geliştiriciler Java uygulamalarına yararlı, görsel olarak çekici bileşenleri ekler. JavaFX, 1995'deki Soyut Pencereleme Araç Seti ve 1998'de Java Swing'i ile başlayan bu tür birçok çerçeveden biridir. JavaFX'in ilk sürümü, 2008 yılına dayanıyor; ancak JavaFX, standart Java kütüphanesinde birinci sınıf vatandaş haline geldi. Java 7 2011'de.

Ayrıca 2011'de Oracle, JavaFX Sürüm 2'yi yayınladı. Bu yeni sürüm, XML belgelerini Java kodu ile birleştirdi - bir uygulamanın görünümünü XML ve bir uygulamanın Java koduyla yaptığı eylemleri bildirdi. JavaFX, FXML adlı kendi XML ağızçasını kullanır.

XML eXtended İşaretleme Dili anlamına gelir ve JavaFX muhtemelen Java ile "özel bir EFF olan şeyleri içerir" - 1 -> (Kısaltmaların kökenlerini önemsiyorsanız Bu makale, kendi zevkinize göre FXML

EFFtct eXtended Markup Language veya EFF-ECTS İşaretleme Dili anlamına gelir. basit bir JavaFX programında bulabilirsiniz. ("Bazı adlara" yapılan bu başvurunun "yalnızca JavaFX dünyasına ait isimler" anlamına geldiğini unutmayın - bu, diğer pencere ortamlarında görünen TextField ve Button gibi isimleri içermez ve bu, Java. lang ve main gibi vanilya Java teknolojilerine ait isimleri içerir.)

Liste 1'de FXML kodu, Liste 2'de Java kodu bulunur. Bu iki listeyi tek bir uygulamanın parçası olarak çalıştırdığınızda, metninizdeki harfleri büyük harfle yazan bir program elde edersiniz. (Bu noktada, "Metni büyük harf kullanıma açan bir uygulama? Önemli bir anlaşma" demeniz gerekebilir. Burada uygun bir yanıt "BİR BÜYÜK BİR ÇALIŞMAYA KABUL EDİLEN BİR İYİLEŞTİRME!")

Listeleme 1: Kök. fxml F ile

<< AnchorPane prefWidth = "130.0" prefWidth = "198.0" xmlns = " // javafx. Com / javafx / 8" xmlns: fx = " // javafx. com / fxml / 1" fx: denetleyici = "uygulama Ana"> << çocuklar >> fx: id = "textField " layoutX =" 25. 0 " layoutY =" 26. 0" /> mnemonicParsing =" false " onAction =" # onClick "  2'ye ayrılıyor: Ana. java F ile

paket uygulaması; import javafx. uygulama. Uygulama; import javafx. Etkinlik. ActionEvent; import javafx. fxml. FXML; import javafx. fxml. FXMLLoader; import javafx. faliyet alani, sahne. Veli; import javafx. faliyet alani, sahne. Faliyet alani, sahne; import javafx.faliyet alani, sahne. kontrol. Metin alanı; import javafx. sahne. Sahne; public class (

(args);} @Override public void başlangıç ​​ ( Aşama primaryStage) {try { Ana kök = FXMLLoader'ı deneyin. yükle (getClass (). getResource ("Kök fxml")); Sahne sahne = yeni Sahne (kök, 400, 400); faliyet alani, sahne. getStylesheets (). add (getClass (). getResource ("uygulama. css"). toExternalForm ()); primaryStage. setScene (sahne) ; primaryStage. show () ;} catch (İstisna e) {e. printStackTrace ();}} @FXML özel TextField textField; @FXML protected void onClick (ActionEvent olayı) {textField. FXML kodu Her XML belgesinde olduğu gibi, Liste 1'deki belge kök unsuruna sahiptir - tek bir eleman başlar belgenin başında ve belgenin sonuna kadar biter. Liste 1'de, kök öğe ile başlar ve

ile biter.

Kök unsur olarak AnchorPane AnchorPane (veya daha resmen bir javafx sahne düzeni, AnchorPane), demirlemenin yapılabileceği bir yerdir. Büyük, boş bir alana bir düğme veya metin alanı koymaya çalışmayı düşünün. Bir AnchorPane olmadan bu bileşenler alanın içinde nazikçe yüzüyorlar. Bir AnchorPane ile, metin alanının sol kenarını, AnchorPane'in sol kenarından tam 25 0 piksel yapabilirsiniz. (Liste 1'deki TextField öğesinin layoutX özniteliğine bakın.) Ayrıca, AnchorPane ile, metin alanının üst kenarının AnchorPane'in tam kenarından 26.0 piksel olmasını sağlayabilirsiniz. (Liste 1'deki TextField öğesinin layoutY özniteliğine bakın.) Aynı, AnchorPane'in içine yerleştirdiğiniz bir düğme veya başka herhangi bir bileşen için de geçerlidir.


Bir FXML belgesinin kök öğesinin içinde, bir fx: controller özniteliği, Java'ya uygulamanla ilişkili eylemleri gerçekleştiren kodu sınıfı olan


denetleyicisi

sınıfının adını söyler. Liste 1'de denetleyici sınıfının adı uygulamadır. Ana. Ve ne tesadüf! Liste 2'deki sınıfın adı Main'dir ve application adlı bir pakette!

FXML kodunu bir anahat olarak düşünüyorsanız, alt başlıklar ve alt başlıklar alt başlıklar içeren bir başlık vardır. Liste 1'de, birincil başlık AnchorPane'dir. AnchorPane'in sadece alt başlığı çocuklar. Ancak çocukların kendilerine ait iki alt başlığı vardır; yani TextField ve Button.

fx: id özniteliği TextField öğesinin bir fx: id özniteliği vardır. Bu özellik, bu bileşeni bazı Java kodlarında nasıl bulacağınızı bildirir. Başka bir deyişle, "Uygulamadaki bu widget'e bakmak" diyor. Ana Java kodu, textField adını kullanın. "(Daha fazla ayrıntı istiyorsanız, Liste 2'deki kod tartışmasına göz atın.)

Bir bileşeni tanımlamak için açıklayıcı bir sözcük kullanmak zorunda değilsiniz.

Sürekli olarak woofinflang kelimesini kullandığınız sürece (Java kodunuzda woofinflang sözcüğüne atıfta bulunarak) her şey sorunsuzca geçecektir. Tabii textField, textField2 ve phoneNumberField gibi isimler woofinflang gibi isimlerden daha bilgilendirici. Yani mümkünse, woofinflangs'tan uzak durun.

The mnemonicParsing özniteliği


Liste 1'de, Button öğesinin içinde mnemonicParsing özniteliği false değerine sahiptir. Bu yanlış değer, Java için düğme için kısayol tuşu ayarlamayı rahatsız etmemesini söyler. Değer doğruysa, düğmenin metin özniteliğinin değerine bir alt çizgi ekleyebilirsiniz:

text = "_ Büyük harfle"

Böylece kullanıcı fareyi düğmenin üzerine getirmek zorunda kalmaz. Alt çizgi C harfinden hemen önce geldiğinden, Alt + C tuşlarına basmak düğmeyi tıklama ile aynı etkiye sahip olacaktır.

OnAction özniteliği

Bir düğmenin onAction özniteliği, kullanıcı düğmeyi tıklattığında yürütülecek yöntemin adını Java'ya bildirir. Liste 1'de, onAction özelliğinin değeri #onClick'tir. Bu, kullanıcı düğmeyi tıklattığında Java'ya denetleyici sınıfının onClick yöntemini çağırmasını söyler. Neyse ki uygulama. Liste 2'deki ana sınıf bir onClick yöntemine sahiptir.

Liste 1'de, onAction değeri #onClick'tir. Ancak, Liste 2'de, karşılık gelen yöntem adı karma simgesi olmadan onClick'tir. Bir düğmenin onAction özniteliğinde hash sembolü (#), yöntem adının bir parçası değildir. Fakat bu, FXML belgenizdeki karma sembolünü atlayabileceğiniz anlamına gelmez. Karma simgesini atlarsanız, programı çalıştırmayı denediğinizde çirkin bir hata mesajı görürsünüz.

Java kodu

Liste 2'deki sınıf, Uygulama sınıfını genişletir. Bir Uygulama, tam olarak ne olduğunu düşündüğünüz şeydir - kullanıcının başlatabileceği bir grup kod; "Belge oluşturma", "Web'de Surf" veya "Bir arkadaş bul" gibi açıkça belirtilen amacı olan bir program. "

Çalıştırma ve başlatma

Bir JavaFX programını çalıştırmak için en az iki yol vardır. Bir yöntem normal bir Java uygulaması olarak çalıştırmaktır. Örneğin, Eclipse'de Farklı Çalıştır -> Java Uygulaması'nı seçersiniz.

Bunu yaptığınızda, bilgisayarınız Java sanal makinesini başlatır ve bu da programın temel yöntemini çağırır. Liste 2'de, ana yöntem yalnızca bir deyimi yürütür: başlatma yöntemine bir çağrı. Başlatma yöntemini çağırmak uygulamanın JavaFX tekerleklerini harekete geçirir ayarlar.

Alternatif olarak, önceden paketlenmiş JavaFX kodunu çalıştırabilirsiniz. Hazır paketlenmiş bir paket, bilgisayarın bir uygulamayı çalıştırmak için ihtiyaç duyduğu her şeyi içerir. Bu "herşey" kullanıcının bilgisayarında bir Java sanal makinesini kontrol etmek için kod ve bilgisayarta bir Java sanal makine bulunmaması durumunda bir Java sanal makine indirmek için kod içerir. Bir JavaFX uygulamasını bu şekilde hazırladığınızda, programınızın ana bir yöntemi olması gerekmez. Sistem, programın başlatma yöntemini otomatik olarak çağırır.

A. kavanoz dosyası a gibi. Zip dosyası dışında her biri. jar dosyası, Java programlarına özgü belirli öğeler içerir. Birine koyabileceğiniz şeylerden biri.jar dosyası hazır paketlenmiş bir JavaFX uygulamasıdır.

Başlatma yöntemini çağırdığınızda, Java, uygulamanızın başlatma ve başlatma yöntemlerine çağrılar yaparak yanıt verir. Ana sınıfınız, Uygulama sınıfının varsayılan init yöntemini devraldığından, Liste 2'de bir init yöntemi görmüyorsunuz. (Varsayılan init yöntemi hiçbir şey yapmadığı için bu sorun değildir.)

Diğer şeylerin içindeki şeyler

Liste 2'deki başlatma yöntemi bir Üst öğe oluşturur. Ana, bir Sahnenin başlangıç ​​noktası ve Sahne Sahne Alanı'nda görülür. İşte biraz daha detay:

Bir Sahne, normalde "pencere" dediğiniz şey. "

Bu, kullanıcının ekranında dikdörtgen bir çalışma alanıdır.

Bir Sahne (aynı zamanda

sahne grafiği

olarak bilinir), bir bileşen ağacıdır.

  • Örneğin, Bir Sahne iki bölme içerebilir. En soldaki bölme iki küçük bölme içerir - bir üst bölme ve bir alt bölme. Üst panelde bir düğme bulunur; alt bölme bir metin alanı içerir. En sağ bölme resim ve resim için bir etiket içerebilir.

    Bu makalenin başvurusunda, bileşen ağaçları oldukça basittir. Sahne, sırayla bir TextField ve bir Düğme içeren bir AnchorPane içerir. (Listeye bakınız.)

  • Bir Veli, bir Sahnenin başlangıç ​​noktasıdır. Önceki mermide görünen şeye rağmen, Bir Sahne, iki bölüme sahip olmak ya da iki şey yaşayarak hayatına başlayamaz. Her Sahne tek bir bileşenle başlar ve bu bileşen Parent türünde olmalıdır. Bu makalenin başvurusunda, Sahne, bir TextField ve bir Düğme içeren bir AnchorPane içeren bir Ebeveyn içerir. Liste 2'deki start yöntemi, bir Ana öğeyi, Liste 1'de açıklanan bileşenlere bağlar; bir Sahne'yi Anale ilişkilendirir ve Sahne Alanı'nı Sahne Alanı ile ilişkilendirir. Son olarak, kod Sahne Alanı sınıfının show yöntemine yapılan çağrı ile Sahne Alanı'nı görüntüler.

    Web sayfası tasarımını biliyorsanız, sahnenin görünümünü tanımlamak için basamaklı stil sayfalarını (CSS) kullanabilirsiniz. Liste 2'de sahne çağrısı. getStyleSheets (). Ekle sahnenizle bir stil sayfası ilişkilendirir. Eğer senin. css dosyası (bu makalenin örneğinde olduğu gibi) boş, daha sonra sahne çağrılıyor. getStyleSheets (). add'ın bir etkisi yoktur.

    Harekete Geçme

  • Liste 1'de

    satırı, kullanıcının ekrandaki bileşenlerden birine başvurmanın bir yolunu sunar. Liste 2'de, satır

özel TextField textField;, bu textField bileşenini Java kodunuzda bir nesne haline getirir.

Yeniden listeleme 1'de düğmenin onAction özelliği, kullanıcı düğmeyi tıklattığında Java'ya denetleyici sınıfının onClick yöntemini çağırmasını söyler. Liste 2'de, onClick yöntemi textField bileşeninin içindeki metinle kandırılır. (Daha açık belirtmek gerekirse, onClick yöntemi metin alanındaki metni alır, metni büyük harf yapar ve büyük harfli metni tekrar textField'e koyar.) Kullanıcı, düğmeyi tıklattığında programın ne yapacağını bilir.

Her zaman textField gibi kelimeleri kullanmak zorunda kalmazsınız. Adın sürekli olarak kullanıldığı müddetçe bershmlug olarak adlandırabilirsiniz.FXML dosyasında


yazarsınız ve Java kodunda,

@FXML private TextField

bershmlug

yazarsınız; @FXML protected void onClick (ActionEvent olayı) {

bershmlug


. setText (

bershmlug .getText (). toUpperCase ());} Liste 2'deki @FXML ek açıklamalar erişim kontrolü içindir. Bir JavaFX programı çalıştırdığınızda, bir yükleyici FXML kodunuzu kavrayıp Java koduna dönüştürür. (FXML kodunu programınıza yükler.) İşini yapmak için yükleyici textField ve Listing 2'deki onClick gibi adlara erişmelidir. Fakat unutmayın: Bu yükleyici kendi programınızın parçası değildir. Yükleyici Java standart kitaplıklarına aittir. TextField ve onClick adlarına erişimi nasıl kontrol edebilirsiniz? Java'nın sıradan erişim düzenleyicileri (public, protected, private ve default) size küçük bir seçenek bırakmaz. Bu değiştiricilerle, dış program tarafından erişime izin vermenin tek yolu, textField ve public olarak bildirmektir. Fakat birçok geliştirici için, kamu erişiminin ayrımsız kullanımı gauche

olarak kabul edilir. Genel erişime sahip her sınıfı textField ve onClick'e erişebilir. JavaFX geliştiricisinin istediği şey bu değil.

Bu sorunu çözmek için, @FXML açıklaması özel bir erişim türünü sağlar. Liste 2'de, textField değişkeni özel, dolayısıyla normalde, Main dışındaki hiçbir sınıf textField değişkenine erişemez. Ancak @FXML ek açıklaması yükleyiciye özel ayrıcalık tanır. Diğer kodların aksine, yükleyici kodu textField değişkenine referans verebilir. Programınızı derlediğinizde ve çalıştırdığınızda, Java @FXML ek açıklamasını görür ve yükleyiciye erişim sağlamak için özel hileler yapar. Aynı şey onClick yöntemi için de geçerlidir. @FXML ek açıklaması olmadan, protected onClick yöntemi sadece kendi uygulama paketinizdeki sınıflardan ve Ana sınıfınızın alt sınıflarından çağrılabilir. Yükleyici bu iki şeyden de değildir. Dolayısıyla, yükleyici tarafından onClick yönteminize özel erişim izni vermek için onClick yöntem bildiriminizi @FXML ile önsözünüz.

JavaFX App'taki tüm Kelimeler Nedir? - mankenler

Editörün Seçimi

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Excel 2016 Çalışma Kitabı Tasarlamak - kuklalar

Tüm Excel 2016 çalışma sayfaları şablonlardan gelmemektedir. Çoğu zaman, belirli çalışma kitaplarının türlerinin üretildiği standart modeller olarak işlev göreceği düşünülen oldukça eşsiz elektronik tablolar oluşturmanız gerekir. Aslında, Excel'de oluşturduğunuz e-tabloların çoğu, bu türden olabilir, özellikle işiniz güvenmiyorsa ...

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Excel 2013'teki Veri Formundaki Kayıtları Düzenleme - Veriler

Veritabanından sonra yolda gidiyorsanız ve Excel 2013'te kayıt girmekle yetiniyorsanız, veritabanında düzenli bakım yapmak ve düzenlemek için veri formunu kullanmaya başlayabilirsiniz. Örneğin, değiştirmek istediğiniz bir kaydı bulmak için veri formunu kullanabilirsiniz ve sonra düzenlemeleri yapın ...

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Bir Excel 2010 Tablosundaki Kayıtları Düzenleme - mankenler

Kayıtları düzenlemeye veya silmeye ve masada rutin bakım yapmaya ihtiyaç duyarsınız. Kayıtları el ile çalışma sayfasında düzenleyebilir veya gerekli değişiklikleri yapmak için bir veri formu kullanabilirsiniz. Örneğin, bir veri dosyasını bulmak için veri formunu kullanabilirsiniz ...

Editörün Seçimi

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Excel 2010 Grafiğine Veri Tablosu Ekleme - Excel 2010'da çekimser

Veri tabloları, grafiğin değerlerini grafiğin altındaki bir tabloda görüntüler. 3B grafik kullanırken olduğu gibi, grafiksel bir ekranla birlikte kesin değerleri görmeniz gerekirse yardımcı olurlar. Ayrıca, bazı çizelgelerde okunması zor olan veri etiketlerinden daha uygun olabilirler.

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

Excel Pivot Tablosuna Hesaplanan Öğe Ekleme - mankenler

ÖğEleri bir Excel pivot tabloya ekler. Şimdi, açıkçası, hesaplanan bir öğe eklemek genelde mantıklı değil. Pivot tablolarınız için, eksiksiz, zengin bir Excel listesinden veya bazı veritabanlarından veri aldıysanız, öğe miktarlarını hesaplayarak veriler oluşturmak, biraz goofy'den daha fazlasını gerektirir. Ancak, ...

Editörün Seçimi

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Ağınızı bir Güvenlik Testi için Nasıl Eşleştirilir - daha önce ağınızı haritalamanın parçası olarak mankenler

Güvenlik testi veya etik bir kesmek gerçekleştirirken, halka açık veritabanlarını ve kaynaklarını arayarak başkalarının sisteminiz hakkında ne bildiğini öğrenebilirsiniz. WHOIS aramaları En iyi başlangıç ​​noktası İnternet'te bulunan araçlardan herhangi birini kullanarak bir WHOIS araması gerçekleştirmektir. Içinde ...

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Bir Ağdaki Spam'i En Düşük Düzeye Getirme - AYAKLAR

Hiçbir antispam programı mükemmel değildir; belirli bir miktarda spam'ın gelen kutunuza geçmesini bekleyin. Alınmayan spam miktarını en aza indirgemek için siz (ve kullanıcılarınızın) aklınızda tutmanız gereken bazı ipuçları: Şifrenizi isteyen veya ...

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

Güvenlik Testi Sonuçlarını Birlikte Götürmek İçin - Güvenlik testi verileriniz olduğunda yalanlar

- Belgelenen ekran görüntülerinden ve manuel gözlemlerden, kullandığınız çeşitli güvenlik açığı tarayıcıları tarafından üretilen detaylı raporlara kadar - ne yapıyorsunuz? Belgelerinizi ince dişli bir tarakla incelemeniz ve öne çıkan tüm alanları vurgulam