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 :)

soruldu: 06 Ara '12, 08:51

KodlarinEfendisi's gravatar image

KodlarinEfendisi
8061013
cevap kabul oranı: 0%

değiştirildi: 07 Ara '12, 07:17

CemIkta's gravatar image

CemIkta ♦
19.9k29125190


Java Swing ogrenirken su siralama isinize yarayabilir:

Swing component'leri taniyin, tutorials'i okuyun

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 ;)

4 - Layouts ogrendiyseniz artik basit yollar arama zamani, JGoodies Forms ve MigLayout'a ile UI tasarim yapin.

5 - Components ve Layouts'a hakimseniz artik makyaj zamani, degisik Look and Feel libs ile denemeler yapin. JGoodies Looks, Flamingo, Substance

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:

http://www.btsoru.com/questions/2351/javafxin-gelecegi-var-m-kullanm-alanlar-nelerdir-yatrm-yaplmal-m

http://www.btsoru.com/questions/738/java-masaustu-uygulamalarnda-xmlden-arayuz-olusturmak-icin-hangi-kutuphane-kullanlmal

permanent link

cevaplandı: 07 Ara '12, 07:15

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

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.

permanent link

cevaplandı: 06 Ara '12, 09:15

rahmanyazgan's gravatar image

rahmanyazgan ♦
4.4k83559
cevap kabul oranı: 26%

Yorumunuz için teşekkür ederim. Design kısmını az önce biraz daha keşfettim diye bilirim. :)

Textbox daki veriyi butona bastıktan sonra Label da yazdırmayı öğrendim :)

Bir sorum daha olcak Design kısmı ile ilgili, Fark ettim ki JFrame üzerinde compentleri iyi bir şekilde yönetebilmemiz için paneller varmış? Yanlış bilmiyorsam Layoutlardan bahsediliyor.

Peki eclipse de Layout ayarında Flowlayout, GridLayout, GridBagLayout gibi farklı layoutar var. Ben burada bana en kullanışlı GroupLayout geldi, şuan onu kullanıyorum. Ama bu Layoutlar arasında ki fark? Kullanım amaçları farklı mı oluyor?

(06 Ara '12, 16:20) KodlarinEfendisi KodlarinEfendisi's gravatar image

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.

http://www.godoro.com/Divisions/Ehil/Mahzen/Java/TheJavaBook/txt/html/document_Layouts.html

Saygilar...

permanent link

cevaplandı: 07 Ara '12, 03:28

Baktemur's gravatar image

Baktemur
73151618
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×79
×11
×6

Soruldu: 06 Ara '12, 08:51

Görüntüleme: 2,156 kez

Son güncelleme: 07 Ara '12, 07:17

powered by BitNami OSQA