Anasayfa / Java / Eclipse ile JavaFX Projesi Oluşturma
javafx logo

Eclipse ile JavaFX Projesi Oluşturma

Java çok güçlü bir dil olmasına rağmen, bugüne kadar kullanıcı arayüzü tasarımı açısından rakiplerinin bir adım gerisinde kalmıştır. En yaygın kullanılan swing tabanlı kütüphaneler bile modern tasarımlar gerçekleştirme noktasında beklentileri karşılayamamaktadır. Java’nın bu eksikliği JavaFX teknolojisi ile çözüme kavuşmuştur. JavaFX hem masaüstü, hem mobil, hem de internet uygulamaları geliştirmek isteyen kullanıcılar için modern ve estetik tasarımlar oluşturmamızı sağlayan bir kütüphanedir.

Tasarımlar FXML dili kullanılarak, XML benzeri bir şekilde oluşturulur.  Bu durum java kodlarıyla, tasarım kodlarını birbirinden tamamen ayrılmasını da mümkün hale getirmiştir. Ayrıca tasarımda CSS kullanılabilmesi diğer bir artı özellik olarak karşımıza çıkmaktadır.

 JavaFX hakkında bu kadar bilgi verdikten sonra bir JavaFX projesini Eclipse programı ile nasıl oluşturabiliriz inceleyelim.

JavaFX Projesi Oluşturmak için Gerekli Bileşenler

1- JavaFx için öncelikle JavaFx SDK’nın yüklü olması gerekiyor. Daha önce ayrı bir paket halinde yüklenen bu SDK, 7u6 versiyonundan sonra Java JDK’nin içerisine entegre edilmiş durumda. Yani son sürüm SDK indirdiğinizde JavaFX paketin içerisinde geliyor.

2- SDK’yı yüklemek yeni bir javafx projesi açmak için yeterli olmuyor. Eclipse için gerekli olan e(fx)clipse eklentisini sitesinden indirip kurmanız gerekli. Yükleme sonrasında artık yeni bir JavaFX projesi oluşturabilirsiniz.

3- İlk projenizi oluşturduğunuzda kullanıcı arayüzü oluşturmak için projenize yeni bir FXML dosyası eklemeniz gerekiyor. Bu FXML dosyası üzerinde kolay tasarım yapabilmek için bir designer kullanmak daha avantajlı olduğundan son olarak JavaFX Scene Builder programını Oracle’in sitesinden indirip kuruyoruz. İhtiyacımız olan her şey bu kadar.

İlk Projemizi Hazırlayalım

Project Explorer üzerinde projemiz aşağıdaki gibi görüntüleniyor olması lazım. Eklediğimiz FXML uzantılı dosyası sağ tıklayarak Scene Builder ile açıyoruz.

eclipse javafx scenebuilder
Eclipse Project Explorer Penceresi

Program ilk açıldığında bir adet boyutsuz AnchorPane sayfaya eklenmiş olarak geliyor. Boyutunu büyüterek 300×200 olarak ayarladıktan sonra basit bir Kullanıcı Giriş Formu tasarlayalım. Tasarım için aşağıdaki örnekten faydalanabilirsiniz.

javafx scene builder tasarım
Scene Builder Programı-Form Tasarımı

Tasarım bittikten sonra kullandığımız kontrollere sağ taraftaki Code panelinden bir fx:id atıyoruz. Bu o kontrole verdiğimiz isim olacak ve java kodları ile erişim yapmak için kullanacağız. Ben textfield’lara txtAd ve txtSifre isimlerini verdim. Buton ise bir olayı tetikleyeceği için OnAction kısmına çalıştıracağı metodun ismini yazıyoruz. Buna da kontrolEt ismini koyalım. İşlem bittikten sonra  Kaydet diyerek Scene Builder’ ı kapatabilirsiniz.

Şimdi projemizde ki Main.java dosyasını açarak kodları aşağıdaki gibi değiştiriyoruz.

 Kod içerisinde fxml dosyanızın ismini (bende MainUI.fxml) değiştirdikten sonra programı çalıştırabilirsiniz. Programın sorunsuz çalışıp, tasarımınızın karşınıza gelmesi gerekiyor.

javafx first run
JavaFX İlk Çalıştırma

Peki form üzerindeki kontrollere nasıl erişip kullanıcının girdiği veriler ile işlem yapacağız. Bu noktada projemize yeni class ekleyelim. Ben sınıfıma MainController.java ismini koydum.  Öncelikle classımıza Initializable sınıfını implements etmemiz gerekiyor. Aşağıdaki kodları inceleyiniz. @FXML diyerek FXML dosyamızdaki kontrollere atıfta bulunulduğuna dikkat edin.

Son olarak bu yazdığımız MainController dosyamızı  FXML dosyamız ile ilişkilendirmemiz gerekiyor. FXML dosyamızı tekrar SceneBuilder ile açarak sol taraftaki Controller panelinden projemizde oluşturduğumuz MainController dosyamızı seçerek, kaydedip Scene Builder’i kapatıyoruz.

javafx controller
Controller İlişkilendirme

Projeyi Run edip, çalışıp çalışmadığını kontrol edelim.

eclipse javafx
Projenin Tamamlanmış Hali

İlk başlarda biraz karmaşık gelebilir, konuyla ilgili takıldığınız yerleri bana iletirseniz yardımcı olmaya çalışırım.

İlginizi Çekebilir!

stack veri yapısı

Stack (Yığıt) Veri Yapısı

Stack, Last In First Out (LIFO) yani son giren ilk çıkar mantığıyla çalışan basit bir …


3 Yorumlar

  1. Stringlerde == ifadesiyle karşılaştırma yapılmaz.

    if(txtAd.getText()==”admin” && txtSifre.getText()==”1234″)
    kısımı
    if(txtAd.getText().equals(“admin”) && txtSifre.getText().equals(“1234”) )

    böyle olmalıdır.

  2. kulturlupenguen

    Konuyu Güzel anlatmışsınız hocam zaten giriş yapmak istiyordum bir kaç birşey biliyorum fakat kendimide geliştirmek istiyorum elinize sağlık 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Time limit is exhausted. Please reload the CAPTCHA.