

Merhebalar NKU 3. sınıf bilgisayar mühendisliği okuyorum. Java da nesne mantığını attık sonra direk swinge giriştim. :)
Eclipse design kısmını yavaş yavaş da olsa anlamaya çalışıyorum. Ancak ufak bir çalışma dahi yapsam sourceda bir çok kodun olduğunu görüyorum. Artık uzmanlık alanımın Java olmasını istediğimden hazırcı olmak istemiyorum. Koda giriştiğimde içinde kayboluyorum.
Kaynak kitabımın swing bölümünde herşeyi birbirinden ayrı bir şekilde vermiş. Bu konuları küçük küçük bölmesi herbirini anlamakta kolaylaştırıyor. Ancak ben en basit texbox taki veriyi butona bastıktan sonra labela dahi yazdıramıyorum. :/
Google da derdime pek cevap bulamadım, ancak temelin olaylardan ibaret olduğunu sezdim. Bu konuda da sanırsam actionlar ve eventler falan söz konusu.
Farkındayım 4 5 gün daha üzerine gitsem, temel olayı çözeceğime inanıyorum. Ancak bu süreyi biraz daha rahat bir şekilde nasıl atlatabilirim diye düşünüyorum. Biraz tecrübelerden faydalanmam lazım diye düşündümm. Sizler swing konusuna başladığınızda olayın temelini çözmek için neler yaptınız? Eclipse ve ya Netbeansın design mi source kısmında mı çalışmayı seviyorsunuz. Tabi artık bir şeyleri yalayıp yuttuktan sonra işler daha hızlı olması için design tarafı daha bir iyi olacak. Ama benim hazırcı olmaktan çok arka tarafta neler döndüğünü öğreme isteğim mantıklı karşılıyorsunuzdur...
Biraz soru uzun oldu, ama aslında soru uzun olmaz gerçi ya kusura bakmayın :)


Java Swing ogrenirken su siralama isinize yarayabilir:
1 - Oncelikle JFrame ve JDialog'u ogrenin.
2 - Diger component'leri ogrenin, elle kod yazin kesinlikle UI designer kullanmayin.
3 - Component'leri tanidiginizi dusunuyorsaniz, yani bir JLabel, JComboBox elle nasil kodlanir anladiysaniz, Layouts nasil yapilir, onlari ogrenin. BorderLayout, GridBagLayout ve digerlerini elle kodlayarak ogrenin. Layouts kodlarken bu isin kolay bir yolu olmali diye dusunun, gerekirse sac bas yolun ama vazgecmeyin ;)
6 - MVC(Model View Controller), MVP(Model View Presenter) ve veritabani islemlerine baslayin(Swing + JPA/Hibernate)
Ben burdaki siralama ile Java desktop projeleri gelistirdim. Ozellikle elle UI kodladigim icin OOP ve design patterns mantiklarini Swing'de cok kolay kullanabildim. Ornegin bir tane Abstract CRUD Form yazip, butun form islemlerimde bunu extends yaparak her yerde tekrar eden kodlardan (DRY - Don't repeat Yourself) kurtuldum. UI Designer'lar basta basit ve hizli tasarim yaptirsa da ilerde kod bakiminda bir suru zorluklar cikaracaktir.
Kisaca Java Swing'de cok guzel projeler de yazabilirsiniz, cok cirkin, yavas ve kotu design edilmis projeler de. Bu sizin UI design ve kodlama tecrubelerinize bagli.
Ayrica daha once sorulmus JavaFX / Java Desktop cevaplarina bakmanizda fayda var:
cevaplandı: 07 Ara '12, 07:15
CemIkta ♦


Ben iki taraflı öğrenme taraftarıyım.
Klasik öğrenme tarzında konular sırasına göre öğrenilir ve parçalar birleştirilerek eser tamamlanır. Bu şekilde tümevarım mantığıyla hareket edildiğinden gerekli her şeyi önceden veya iş üzerindeyken biliyor olmanız gerekir. Sizin şu an yaşadığınız sıkıntıdaki gibi. Gerekli bilgi olmadığından eser tamamlanamıyor.
Diğer yöntem ise tümdengelim şeklindedir. Ortada hazır bir eser vardır veya birtakım araçlarla oluşturulmuş hazır bir kod, bu işi nasıl yapmış diye düşünerek eseri tamamlayan parçalara kadar öğrenme sağlanır. Sizin örneğinize dönecek olursak. Kodla yapamadığınız bu işi Design aracı üzerinden yapıp sonra kaynak koda baksaydınız, olayın hangi parçayla sağlandığını kolayca görebilirdiniz ve bu parçayı da biraz araştırarak(tümevarım yöntemindeki gibi) olayın özünü kavrar ve design aracının koda ne gibi eklemeler yaptığını vs. farkedebilirsiniz ve bunu niçin yaptığını da.
Bence uzmanlık için tümevarım, pratiklik için tümdengelim yöntemini uygulamak öğrenme süreci açısından bir esneklik sağlıyor.
cevaplandı: 06 Ara '12, 09:15
rahmanyazgan ♦


Iki tarafli ögrenmeniz gercekten daha verimli olacaktir. Bence ayrica Netbeans GUI'ler icin daha iyi ve kolay. Eclipse bana göre Swing'de Netbeans kadar pratik degil. Eclipse wordbuilder vs. mantik olarak nedense bana biraz daha ters gelmistir. Layoutlarin hepsi ayri görevler yapar. Bu sayfada bir cok konu gibi Layoutlarda güzel anlatilmis.
Saygilar...
cevaplandı: 07 Ara '12, 03:28
Baktemur