JBuilder 2005 Gotchas!

4 05 2006

Evet Visual Studio 2005 hakkında yazdıklarımı tekrar okuyunca durumu dengelemek gerektiğini düşündüm :). Sonuçta kıyaslayınca VS hala çok başarılı ama bazı hataları olacak tabi ;). Neyse yine VS’yi çekiştirmeden konumuz JBuilder’a geçelim :).

  • VS2005 ile gelen (bak yine!) main()‘in ayrı bir Program.cs gibi bir dosyada olması zaten uzun süredir Java’cıların standart şekliydi. JBuilder’da da bu bağlamda bir MyApplication.java bir de MyFame.java gibi iki dosya oluşturur. MyFrame.java’da JFrame veya Frame’den türeyen sınıfın kaynak kodu bulunurken, tahmin edilebileceği gibi MyApplication.java’da bu frame’i SwingUtilities.invokeLater() ile veya direk show() diyerek mesaj döngüsünü başlatan main()‘in kaynak kodu bulunur. Bu şekilde herşey sağlıklı giderken siz eski .NET alışkanlığı ile gelip Frame’in içine kendini invoke eden main()‘yazarsanız o zaman JBuilder işleri biraz karıştırıyor… Frame’in kod görünümünden tasarım görünümüne geçerken bir anda içi boş başlıksız ve daha kötüsü windowClosing() WindowEvent’i (siz gerekli kodu yazmış olsanız bile) handle edilmemiş bir hayalet pencere beliriyor. Bu pencereyi (neyseki) iconify edip işinize devam ettikten sonra her kod görünümünden tasarım görünümüne geçişte yeni bir hayalet pencere beliriyor. 🙂 Dolayısıyla görev çubuğunuz dolunca JBuilder’ı kapatıp tekrar açmanız gerekiyor… Aslında hiç kasmadan o main()‘i oradan çıkarmak en iyisi ama yine de bu bir bug…
  • Uzun süre inaktivitede mesala gorev çubuğuna indirip bir süre geçtkten sonra tekrar kendine gelmesi uzun süre alabiliyor hatta gelemeyebiliyor. Program muadili Oracle JDeveloper gibi Java ile yazıldığı için ve sağ alt köşede heap bellek miktari ile GarbageCollector simgesini görünce insan JBuilder’ın kendini topladığını düşünüyor :).
Advertisements