Java FX: Modern Masaüstü Uygulamaları Tasarlama Rehberi

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16
JavaFX: Java Dünyasının Modern Yüzü



1. JavaFX Mimarisinin Temelleri: Scene Graph​


JavaFX, Scene Graph (Sahne Grafiği) adı verilen hiyerarşik bir ağaç yapısı kullanır. Bu yapıda her bir görsel öğe (buton, metin kutusu, resim) birer "Node" (düğüm) olarak kabul edilir.

Stage (Sahne): Uygulamanın ana penceresidir. (Tiyatro sahnesinin kendisi gibi).

Scene (Saha): Pencerenin içindeki içeriktir. (Sahnede sergilenen oyun gibi).

Root Node: Sahnenin içindeki en üst kapsayıcıdır (Örn: BorderPane veya VBox).

2. Tasarımı Koddan Ayırmak: FXML ve Controller​


JavaFX'in en güçlü yanlarından biri, arayüz tasarımını Java kodundan ayırmasıdır. Bu yaklaşım, Web geliştirmedeki HTML/JS ayrımına benzer:

FXML: XML tabanlı bir dosyadır. Butonların yeri, renkler ve düzen burada tanımlanır.

Controller: Java sınıfıdır. Butona tıklandığında ne olacağını (iş mantığını) belirler.

Scene Builder: Sürükle-bırak yöntemiyle FXML dosyaları oluşturmanızı sağlayan görsel bir araçtır.

3. JavaFX Yaşam Döngüsü​


Bir JavaFX uygulaması standart main metodundan değil, Application sınıfını miras alan ve start metodunu ezen bir yapıdan başlar.

Java:
public class MerhabaJavaFX extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Merhaba De!");
btn.setOnAction(e -> System.out.println("Merhaba Dünya!"));

    StackPane root = new StackPane();
    root.getChildren().add(btn);

    Scene scene = new Scene(root, 300, 250);
    primaryStage.setTitle("İlk Uygulamam");
    primaryStage.setScene(scene);
    primaryStage.show();
}

public static void main(String[] args) {
    launch(args);
}

}

4. CSS ile Stil Verme ve Özelleştirme​


Swing'in aksine, JavaFX öğelerini standart CSS (Cascading Style Sheets) kullanarak özelleştirebilirsiniz. Bir butonu yuvarlatmak, degradeler eklemek veya "Dark Mode" teması oluşturmak sadece bir .css dosyasına bakar.

CSS:
.button {
-fx-background-color: #2196F3;
-fx-text-fill: white;
-fx-font-size: 14px;
-fx-background-radius: 10px;
}

5. JavaFX'in Öne Çıkan Avantajları​


ÖzellikAçıklama
Donanım HızlandırmaGrafikleri işlemek için GPU'yu kullanır, bu da animasyonların akıcı olmasını sağlar.
Multimedia DesteğiSes, video ve Web sayfalarını (WebView) uygulamanıza gömmek çok kolaydır.
Properties & BindingVeri ile arayüzü birbirine bağlar (Örn: Slider hareket ettikçe metin boyutu otomatik değişir).



Sonuç

JavaFX, bugün karmaşık finans uygulamalarından veri görselleştirme araçlarına kadar geniş bir yelpazede kullanılır. Eğer Java ile sadece konsol uygulamaları değil, kullanıcının etkileşime geçmekten keyif alacağı modern pencereler tasarlamak istiyorsan, JavaFX senin için en doğru duraktır.
 
Geri
Üst