JavaFX kendisine hayran bırakan, esnek yapısı ile projelerimizi uçuşa geçiren bir görsellik uzmanı. Bu hayranlığı deneyimlemeniz için JavaFX Kurulumu hakkında bir rehber içerik hazırlamak istedim.
JavaFX konusunda herhangi bir fikriniz bulunmuyorsa, JavaFX Nedir isminde hazırladığım konu içeriğime emrecelen.com.tr/javafx-nedir/ bu adresten gidebilir ve JavaFX İlk Projem başlığındaki içeriğimden yapmış olduğum projeye göz atabilirsiniz.👀
JavaFX Kurulumu
JavaFX kurulumu esnasında dikkat etmemiz gereken bazı noktalar ve eklememiz gereken bazı çalıştırma ayarları var. Bu yüzden aşamaları dikkatli ve eksiksiz bir şekilde gerçekleştirmeniz önemlidir. Eğer herhangi bir hata ile karşılaşırsanız aşağıda yer alan yorum yap kısmından benimle iletişime geçebileceğinizi unutmayın. 👌🏻
💪🏻 Kurulum esnasında hata ile karşılaşmamanız, hızlı bir şekilde işlemleri gerçekleştirebilmeniz için elimden geldiğince sade bir anlatım ve görsel kullanımı ile sizlerin ilk JavaFX macerasında yanında olmak istiyorum. Hazırsanız JavaFX kurulumu konusunda ilk adımımızı atalım.
- Projemizi oluşturmadan önce JavaFX kavramını kod editörümüz üzerinde kendisini tanıtmamız gerekiyor. Bunun için bir SDK Dosyası indirmemiz lazım, bu gerekli dosyayı Gluonhq üzerinden işletim sistemimize uygun olarak buradaki adresten indirimini sağlayalım.
- Dosyamızı indirdikten sonra kod editörümüze açıyoruz ve File >> Settings (CTRL+ALT+S) kısmından ayarlar penceremizi açalım. Açtıktan sonra Plugins kısmına girelim. Daha sonra arama çubuğuna JavaFX yazıp aktifleştirme işlemini gerçekleştirelim. Aktifleştirdikten sonra kod editörümüzü yeniden başlatalım.
- Artık kurulum için hazırız, File>>New>>Project kısmından yeni JavaFX projesini seçelim ve Proje’nin SDK ayarlarını yapacağımız kısımdan Add JDK alanına basıp indirmiş olduğumuz dosyanın kurulumunu gerçekleştirelim.
- Eğer proje dosyamızı oluşturabildiysek bu aşamaya kadar herhangi bir sıkıntı yaşamamışız demektir. Sona yaklaşıyoruz, File >> Project Structure (CTRL+ALT+SHIFT+S) kısmından Libaries kısmına tıklıyoruz ve indirmiş olduğumuz SDK dosyası içerisinde bulunan lib kategorisindeki dosyaların kurulumunu gerçekleştiriyoruz.
- Projemiz bu aşamadan sonra JavaFX kavramını tanıyor, kullanmamıza imkan veriyor fakat çalıştırma esnasında bize bir exception fırlatıyor halde olacaktır. Bu sorunun önüne geçmek için Run >> Edit Configurations >> Modify Options >> Add VM Options yolundaki aşamaları uygulayarak projemizin çalışması için PATH ayarının tanıtımını gerçekleştireceğiz. Bu ayar:
--module-path /path/to/javafx/sdk --add-modules javafx.controls,javafx.fxml
PATH ayarında /path/to/javafx/sdk olarak belirtilen alanı, indirme işlemini hangi yol üzerinde gerçekleştirdiyseniz o şekilde değiştiriyoruz. Örnek: /Users/emrecelen/Desktop/JavaSDK/javafx-sdk-12/lib
🧗♂️ JavaFX Kurulumu işlemini beş temel adımda gerçekleştirdik. Artık projelerimizde sıkıntısız bir şekilde JavaFX kullanımı gerçekleştirebiliriz fakat projemizi sürükle bırak şeklinde yönetimini yapacağımız, FXML kodlarına müdahale edeceğimiz programı henüz kurmadık. Hazırsanız bu ihtiyacımızı giderecek Scene Builder kurulumu aşamalarına geçebiliriz.
Scene Builder Kurulumu
🧩 Projemiz üzerine ekleyeceğimiz bir label için bile bir kaç satır kod ve konumu için ince ayarlar yapma işlemi oldukça ciddi vakitler ayırarak kod yazmamızı gerektirebilir. Bu işlemin önüne geçerek, sürükle bırak mantığı ile projelerimizin FXML kodlarına bizim yerimize müdahale edecek Scene Builder programımızın kurulum aşamalarına geçelim.
- Programımızı bilgisayara kurmamız için öncelikle Gluonhq adresine gitmemiz ve daha sonrasında işletim sistemimize uygun indirme işlemini gerçekleştirmemiz gerekiyor. Gerekli indirme işlemi için buraya tıklayarak ilgili yönlendirmeye gidebilirsiniz.
- İndirme işlemi bittikten sonra projemiz içerisinde Scene Builder kullanımını sağlamak için kod editörümüzü açalım.
- Kod editörümüzü açtıktan sonra File >> Settings >> Languages & Frameworks (CTRL+ALT+S) kısmından JavaFX seçimini yapıp Scene Builder dosyamızın kurulu olduğu yolu takip ederek
.exe
uzantılı dosyayı seçerek ayarlarımızı kaydediyoruz.
Scene Builder kurulumu için gerekli olan adımları izlediğimize göre bir proje dosyasını nasıl oluşturmanız gerektiğini gösterdiğim görsel çalışmasını inceleyelim ve daha sonra örnek bir form yapısı ile konumuzu sonlandıralım.
Örnek olarak yapacağımız uygulamada basit bir form yapısı oluşturarak kullanıcıdan alacağımız iki değerin hesaplanmasını sağlayacak ve ortaya çıkan sonucu ilgili alana yazdırılmasını sağlayacak bir form yapısı oluşturalım. Bu örnek için uyguladığım aşamaları aşağıdaki maddeler üzerinden takip edebilirsiniz.
- Örneği gerçekleştirmek için kod editörümü açarak bir JavaFX projesi oluşturuyorum ve oluşan proje içerisindeki .fxml uzantılı dosyaya sağ tıklayarak
Open In SceneBuilder
kısmına tıklıyorum. - Scene Builder uygulamamız açıldıktan sonra bir AnchorPane oluşturarak form yapımı oluşturmaya başlıyorum
- Gerekli gördüğüm eklemeleri yaptıktan sonra eklemiş olduğum bileşenlerin
fx:id
kısımlarının atamasını gerçekleştirdim. - Tüm tanımlamaları yaptıktan sonra projemin içerisinde bulunan Controller sınıfına ekleyeceğim kodları görmek için View >> Show Sample Controller Skeleton kısmından eklemem gereken kod dizileri kopyalıyorum ve projeme tanıtımını gerçekleştiriyorum. Tanıtımı gerçekleştirdikten sonra
Controller
sınıfımın geldiği hal şu şekildedir:import javafx.fxml.FXML; import javafx.scene.control.TextField; public class Controller { @FXML private TextField ilkDegerText; @FXML private TextField ikinciDegerText; @FXML private TextField sonucText; }
- Tanımlama işlemlerim bittiğine göre artık ilgili hesaplama butonlarına tıklandıktan sonra sonucun gerekli yerlere yazılmasını istediğim ButtonAction eventlerini oluşturmaya başladım.
- Action eventlerimi oluşturduktan sonra tekrardan Scene Builder uygulamasına giderek fx:id ataması yaptığım alandan On Action alanına, oluşturmuş olduğum metodun tanımlamasını gerçekleştirdim.
ActionEvent Kod Satırlarım:
private double sonuc; public void ttButtonAction(ActionEvent event) { sonuc = Double.valueOf(ilkDegerText.getText()) + Double.valueOf(ikinciDegerText.getText()); sonucText.setText(String.valueOf(sonuc)); } public void cikartmaButtonAction(ActionEvent event) { sonuc = Double.valueOf(ilkDegerText.getText()) - Double.valueOf(ikinciDegerText.getText()); sonucText.setText(String.valueOf(sonuc)); } public void carpmaButtonAction(ActionEvent event) { sonuc = Double.valueOf(ilkDegerText.getText()) * Double.valueOf(ikinciDegerText.getText()); sonucText.setText(String.valueOf(sonuc)); } public void bolmeButtonAction(ActionEvent event) { sonuc = Double.valueOf(ilkDegerText.getText()) / Double.valueOf(ikinciDegerText.getText()); sonucText.setText(String.valueOf(sonuc)); }
Kod Çıktısı:
İşlemlerimin tanımlamasını yaptıktan sonra programımı çalıştırdığım zaman istenilen hesaplamayı gerçekleştirdikten sonra sonucText ismini verdiğim textfield alanına çıkan sonucun yazdırmasını sağlayacaktır. Eğer örnek içerisinde bir hata ile ya da JavaFX kurulumu gerçekleştirirken bir hata ile karşılaştıysanız aşağıda bulunan yorum yap kısmından benimle iletişime geçebileceğinizi unutmayın. 👋🏻