ben javayla bir program yazıyorum. Bu program tek pencereli. Çok fazla pencere olmasını istemedim. O yüzden başka bir sayfaya geçerken frame'ın adını değiştiriyorum. İçeriklerini siliyorum ve bir container oluşturuyorum. Bu containerde o sayfadaki nesneler oluyor (label, textfield, buton, radiobuton vb.) Sonra programı açınca nesneler hep yan yana oluyor. Bitişik oluyor. Ben alt alta olmasını istedim. nesne.setBounds() ile bunu yaptım. Programı açtım baktım tam istediğim gibi olmuş. Ama sonra pencerenin boyutunu değiştirince yine hepsi yan yana oldu.
Arkadaşlar lütfen yardım edin.
Cevaplarınız için şimdiden çok teşekkür ederim.
İyi günler dileğiyle.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Container nesnesi için GridBagLayout yapısını kullanabilirsin, 1 tane sütun oluştur kullanacağın kadar da satır oluştur.Verileri eklerken GridBagConstraints sınıfının nesnesi üzerinden ilk veri için gridx=0; gridy=0; konumunu diğer veri için gridx=0; gridy=1; konumunu kullan, bu düzende verileri ekle.Pencere boyutu değişse bile yapı aynı kalacaktır.
1) Bir LayoutManager tercih edip ( ozelliklerini inceledikten sonra ), component larin dizilimini bu layout manager a birakacaksin. Boylece resize edince Frame i sacma sapan olusumlar meydana gelmeyecek.
2) LayoutManager kullanmadan Frame'i resizable yapmayacaksin. setResizable(false) ve setLayoutManager(null). Boylece boyut sabit olacak, sabit boyutta neyin nereye gelecegini tek tek sen belirleyeceksin. Ama bu durumda cozunurluge gore adapte olamayacak Frame'in.
3) Java'nin Desktop UI programlamasi bana gore cirkin ve cok hamallik istiyor. C# ve .Net kullanarak 5 dakikada yaptigin isi uzun zamanda yapiyorsun. Eger yazdigin seyin yalnizca Windows'ta calismasini istiyorsan bence Java Desktop uygulamasi icin dogru tercih degil.
Bir de ek olarak, IntelliJ ve Eclipse 'in ikisinin de surukle birak pluginleri var, bunlari kullanarak biraz daha rahatlikla yapabilirsin. intelliJ de hazir geliyor, Eclipse te kendin bulmalisin. SwingTools muydu adi, WindowBuilder muydu tam hatirlayamiyorum ama arastirip isini kolaylastirabilirsin.
1) Bir LayoutManager tercih edip ( ozelliklerini inceledikten sonra ), component larin dizilimini bu layout manager a birakacaksin. Boylece resize edince Frame i sacma sapan olusumlar meydana gelmeyecek.
2) LayoutManager kullanmadan Frame'i resizable yapmayacaksin. setResizable(false) ve setLayoutManager(null). Boylece boyut sabit olacak, sabit boyutta neyin nereye gelecegini tek tek sen belirleyeceksin. Ama bu durumda cozunurluge gore adapte olamayacak Frame'in.
3) Java'nin Desktop UI programlamasi bana gore cirkin ve cok hamallik istiyor. C# ve .Net kullanarak 5 dakikada yaptigin isi uzun zamanda yapiyorsun. Eger yazdigin seyin yalnizca Windows'ta calismasini istiyorsan bence Java Desktop uygulamasi icin dogru tercih degil.
Bir de ek olarak, IntelliJ ve Eclipse 'in ikisinin de surukle birak pluginleri var, bunlari kullanarak biraz daha rahatlikla yapabilirsin. intelliJ de hazir geliyor, Eclipse te kendin bulmalisin. SwingTools muydu adi, WindowBuilder muydu tam hatirlayamiyorum ama arastirip isini kolaylastirabilirsin.
Merhaba,
soruma cevap verdiğiniz için çok teşekkür ederim. Ben 2'yi tercih ettim, yaptım.
ben javayla bir program yazıyorum. Bu program tek pencereli. Çok fazla pencere olmasını istemedim. O yüzden başka bir sayfaya geçerken frame'ın adını değiştiriyorum. İçeriklerini siliyorum ve bir container oluşturuyorum. Bu containerde o sayfadaki nesneler oluyor (label, textfield, buton, radiobuton vb.) Sonra programı açınca nesneler hep yan yana oluyor. Bitişik oluyor. Ben alt alta olmasını istedim. nesne.setBounds() ile bunu yaptım. Programı açtım baktım tam istediğim gibi olmuş. Ama sonra pencerenin boyutunu değiştirince yine hepsi yan yana oldu.
Arkadaşlar lütfen yardım edin.
Cevaplarınız için şimdiden çok teşekkür ederim.
İyi günler dileğiyle.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.