Arayüz Tasarimi [Java] [GUI]

Birkaç hafta öncesine kadar yazdığım tüm programlar siyah ekranda çalışan, güzel bir arayüzü olmayan programlardı. Kullanımları zor, sıkıcı programlar. Ama bir süre önce okulda verilen projelerde grafiksel arayüzü olan programlar yazmamızı istediler. Bu durum sıkıldığım siyah ekrandan sonra yeni bir şeyler deneme fırsatı verdi. Bu süreçte Java programları için arayüz tasarımı kolaylaştıran bir eklentiden bahsedeceğim. Java için Eclipse IDE’sini kullanıyorum. Bu yazıda, bu IDE’de arayüz tasarımını kolaylaştıran Google Window Builder’den bahsedeceğim.

Kurulum

Eclipse IDE’si, yüklediğimiz eklentiler sayesinde birçok farklı durum için özelleştirebildiğimiz bir program. Bu yazıda Google Window Builder’ı yükleyerek arayüz tasarlarken sürekle-bırak kolaylığı sağlayacağız. Yazının devamında anlatacaklarımın düzgün çalışması için bir Java geliştirme ortamınızın kurulu olması gerekiyor.

https://eclipse.org/windowbuilder/download.php

(Bu bağlantıdan Eclipse sürümünüze gore uygun olanın bağlantısını alıyorsunuz.)

Sizin kulladığınız sürüm yoksa en son sürüm için en üsttekini alın, sorun çıkmıyor. Sürüm ismini başlangıçtaki ufak pencerede bulabilirsiniz.

(İlerleyen zamanlarda ekran görüntüleri de koyarım)

Arayüz Tasarlama

Karşılabileceğiniz Sorunlar

Bileşenleri pencereye eklediniz, buton eklediniz. O butona tıklandığında bir şeyler olacak. Source kısmına geçip kodlamaya başladınız.

Bu noktada şöyle bir sorun ortaya çıkabiliyor. Bileşenleriniz oluşturuldukları satırda tanımlanmış, bu yüzden üst taraflarda ulaşamıyorsunuz, event handler kodu yazarken class içerisinde class yazdığınızdan diğer metotlara ulaşamıyorsunuz. Bu sorunu çözmek için:

Kendiniz kodlar üzerinde oynarak tanımlamalarını en üstte yapın, yine ulaşamadığınız yerlerde başlarına “final” koyun.

Ekran görüntülerinden hatalara ve olası çözümlerine bakabilirsiniz.

İlerleyen zamanlarda birkaç tane basit arayüz örneği koyabilirim. İyi çalışmalar.

Şu adreste kurulum farklı ama sonraki adımları daha detaylı, görsellerle birlikte anlatmış.