<$BlogRSDURL$>

Görünüm ve Doku 

Yazdığınız masaüstü uygulamasında "Swing/JFC kullansam mı acaba?" diye düşünüyorsunuz fakat bir yandan da Swing ile yazılmış uygulamaların çirkin olduğunu düşünüyorsunuz. Değil varsayılan Swing görünümü olan Metal'in, işletim sistemlerinin sunduğu görünümlerinde çirkin en azından kullanaıcıdan kullanıcıya değişebilen bir zevke hitap etmediğini düşünüyorsunuz. Özellikle KDE ve Gnome kullanıcısı iseniz temaları kullanarak masaüstünüzü istediğiniz gibi düzenleyebilmenin avantajlarını biliyor ve bunları uygulamalarınıza da yansıtmak istiyor olabilirsiniz.

Swing görsel bileşen kütüphanesi görünüm ve dokusunun ( Look and Feel ) modüler olarak değiştirilebilmesine olanak sağlar. Uygulamalarınızın görnüm ve dokusunu değiştirmek için uygulama açılışınızda aşağıdaki üç satırı yazmanız yeterli olacaktır. ( Tabiki burda hangi görünüm sınıfını kullanmak istiyorsanız onu seçmelisiniz. )

try {
    UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
} catch (Exception e) {

}

Peki farklı görünüm ve dokuları nerden bulabiliriz. Öncelikle tavsiye edeceğim site Javootoo. Burada Swing için geliştirilmiş ticari ya da özgür görünüm ve doku paketlerinin önemli bir kısmını bulabilirsiniz.

Bu görünüm ve doku paketleri içerisinden özellikle kendi içlerinde tema destekleri bulunan JGoodies Looks, SkinLF ve Oyoaha paketlerini öneririm.

Eğer ticari bir çözüm arıyorsanız Incors'un sunduğu Alloy paketini inceleyebilirsiniz.

Ayrıca Swing ve SWT arasında karar verme konusunda görünümün en önemsiz konu olduğunu göstermek amacıyla Karsten Lentzsch tarafından hazırlanmış olan Metamorphosis uygulamasını kesinlikle incelemelisiniz.

Not: Java 5 ile bilikte Swing görünüm ve doku paketinde küçük değişimler gerçekleşti. Tema desteği geliştirildi ve varsayılan olarak artık Metal değil Ocean görünüm ve dokusu kullanılmakta.

L2FProd 

Java ile masaüstü uygulama geliştiriyoruz ve görsel kütüphane olarak da Swing'i ( JFC ) seçtiniz ya da seçmeli mi diye inceliyorsunuz ama modern bir kullanıcı arayüzünün gerektirdiği bazı bileşenlerin eksik olduğunu düşünüyorsunuz. Bu noktada yardımımıza üçüncü parti bileşenler yetişiyor. Swing için bileşen üreten bir çok yazılım evi ve açık kaynaklı / özgür yazılım projeleri bulunmakta. Benim kişisel tercihim olan bir bileşen paketini tanıtmak istiyorum, SkinLF'yi geliştiren ekipten : L2FProd Common Components.

L2FProd Common Components, Swing'in içermediği fakat modern bir kullanıcı arayüzünde görmeye alışık olduğumuz çeşitli bileşenleri içermekte.

Özellik Editörü
Yazdığınız uygulama içerisinde önceden bilinmeyen sayıda özellik ( property ) içeren sınıflarınız varsa ve bunları kullanıcının düzenlemesine açmak istiyorsanız. Kullanabileceğiniz bir editör. Ayrıca JavaBean özelliklerini de düzenlemenize olanak verecek araçlara sahip.





Görev Paneli
Uygulamanıza Windows XP'de olduğu gibi görev yönelimli özellikler eklemek istiyorsanız ya da uygulama seçeneklerinizi bu türde bir bileşenle sunmak istiyorsanız kullanabileceğiniz bir bileşen. Farklı Windows 2000, XP ve Metal görünüm ve dokusuyla üzerinde çalıştığı işletim sistemine uygun görünüme sahip olabilmekte.





Seçenek Çubuğu
Mozilla FireFox ve benzeri bir çok modern uygulamanın seçenek editörlerinde seçenek gruplama için kullandığı bu çubuklardan sizde uygulamanıza koymak istiyorsanız bu bileşeni kullanmalısınız.







OutlookBar
Uygulamanıza MS Outlook'un sahip olduğu araç çubuğu benzeri bir bileşen koyarak kullanıcılarınızın uygulama modülleri arasında geçiş yapmasını istiyorsanız bu bileşeni kullanmalısınız.









Font ve Klasör Seçim Dialogları
Swing kütüphanesi içerisinde renk seçim, dosya seçim dialogları gibi standart dialoglar bukunmakla beraber eksik dialoglarda bulunmakta. Bu açığı kapatmak için L2FProd Font ve Klasör seçim dialogları sunmakta.







Diğerleri
Ayrıca özel bir bileşen olmamakla birlikte arayüz hazırlamayı kolaylaştıracak Panel, Base Dialog, İşlem barı ( ProgressBar ) gibi küçük başka bileşenlerde paket içerisinde bulunmakta.

ASL ile yayınlanan L2PFrod bileşen paketi hali hazırda l2fprod-common.dev.java.net üzerinde geliştirme sürecinde olmakla birlikte uygulamalarda kullanılabilecek kadar çalışabilir durumdadır.

FreeMind 

FreeMind, uygulama geliştirmek ya da java dünyası için doğrudan bir uygulama olmamakla beraber, analiz ve tasarım notlarınızı tutabileceğiniz, Java ile geliştirilmiş bir yardımcı program.

Düşünce Haritaları'nı ( Mind Map ) daha önce hiç kullandınız mı? Ben bundan bir kaç ay önce, analiz ve tasarım yaparken aldığım notları bir metin düzenleyiciden daha rahat yönetebileceğim bir uygulama araken karşılaşıncaya kadar haberdar bile değildim.

Ama FreeMind'ın kullanımı, dolayısı ile de düşünce haritaları üzerinde not tutmanın sağladığı faydadan hoşnutum. Evet, hala notlarımın bu haritalara nasıl yayılmaya başlayacağı, nerden başlamak gerektiği konularında biraz tutuğum ama bu konudada bilgi alınabilecek adresler var.

FreeMind'in bu konularda sağladığı özellikler ise : FreeMind, GNU GPL lisansı ile yayınlanmaktadır.

Veri tabanı araçları 

Veri tabanı sunucuları kendi yönetim araçlarıyla birlikte gelmekteler ama bunlar genelde bir platform üzerine yoğunlaşmış durumda olurlar. Özellikle veri tabanı sunucusu sadece bir platform üzerinde çalışıyorsa.

Eğer işletim sisteminden ve veri tabanı sunucusundan bağımsız bir uygulama geliştirmek istiyorsanız, ya da en azından veri tabanının doğal ortamının dışında çalışmak istiyorsanız ( örneğin MS SQL Server'a bağlanacak bir Linux uygulaması ya da PostgreSQL Server'a bağlanacak bir Windows uygulaması geliştiriyorsanız ) platformdan bağımsız olarak bu sunuculara bağlanacak araçlara ihtiyacınız var demektir.

SQuirrel
SQuirrel, JDBC desteği olan veri tabanlarına bağlanıp işlem yapmayı kolaylaştırmak amacıyla yola çıkmış Java tabanlı bir grafik arayüz uygulaması. Hem işletim sistemi hem de veri tabanında bağımsız etkileşimli sorgulama aracı ( ISQL ) olarak farklı işletim sistemi ve veri tabanı sunucularında çalışmak durumunda kalanlar için ortak bir çözüm olması nedeniyle iyi bir seçenek olabilir.

Bağlandığı veri tabanının nesne hiyerayşisini ağaç üzerinde sunmakta ve Jedit üzerine kurulu editörü ile SQL betiklerini yazmayı kolaylaştırmaktadır.

IzPack kurulum aracıyla paketlenmiş olup istenilen platforma rahatça kurulabilir. Paket olarak çeşitli görünün ve doku seçeneklerini de barındırmaktadır.

GNU GPL ile yayınlanmaktadır.

Aqua Data Studio
SQuirrel ile aynı işleve sahip olmakla birlikte görece daha donanımlı olan Aqua Data Stdudio'nun iki farklı sürümü iki farklı lisansla yayınlanmaktadır.

En son sürümü 3.7, Oracle, MS SQL, Sybase, MySQL, PostgreSQL ve DB2 için özelleşmiş araçlara sahip. Tablo, Index gibi veri tabanı nesnelerini hazırlamanızı sağlayacak dialogları bulunmakta. Ayrıca bu veri tabanlarının özelleşmiş hiyerarşilerini de sunubilmekte. Öğrenim için ücretsiz olan uygulama diğer tüm kullanımlar için lisans ücreti talep etmekte.

Bir önceki sürüm olan 2.x serisi ise son sürümün sahip olduğu yeteneklerin bir kısmına sahip olmamakla birlikte tüm kullanımlar için ücretsiz olarak yayınlanmaktadır.

Cevze, Java yazılım geliştirme ortamı ile ilgili konuları içeren bir Hakan Uygun weblogudur. Yapımında Blogger-Templates'den şablon kullanımıştır. Ayrıca Cezve resmi de mehmetefendi.com'dan alınmıştır.