Şimdi Ara

Java - Formlar Arası Değişken Gönderme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
6
Cevap
0
Favori
3.538
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar java da bir sorun yaşıyorum. Elimde giriş paneli var. Bu giriş panelinde bilgiler doğru ise ana ekrana kullanıcının adını göndererek Hoşgeldin kullanici_adi şeklinde yazdırmak istiyorum. Sorunu yaşadığım yer giriş panelindeki kullanici adini ana ekrana gönderemiyorum.

    Giriş panelindeki;

    public String girisadi;

    şeklinde ulaşılabilir değişken tanımladım. ve giriş butonun click olayında işlemler doğru ise şu işlemleri gerçekleştirdim.
     
    Yonetici yoneticihg= new Yonetici();
    yoneticihg.setKullanici_Adi(textbox1.getText());
    girisadi=yoneticihg.getKullanici_Adi();

    Bu arada yönetici adında class'ım var. set - get leri oradan çekiyorum. Ana ekranda form yüklendiğinde şu işlemleri gerçekleştiriyorum.(label yazdırma işlemi);

     
    private void formWindowOpened(java.awt.event.WindowEvent evt) {
    setLocationRelativeTo(null);
    GirisPanel gp= new GirisPanel();
    label3.setText(gp.girisadi);
    }


    label a girispanelndeki girisadi nı çekemiyorum. Problem nerede olabilir?







  • Bi A Birde B JFramelerimiz Olsun
    A = Giriş Paneli
    B = 2. Ekran

    public class B extends JFrame
    {

    JLabel lblKarsilamaMesaji;
    public B(String kullaniciAdi)
    {
    ...
    ...
    lblKarsilamaMesaji.setText("Merhaba "+kullaniciAdi+" Hoşgeldiniz!");

    }

    ...

    }



    A'da Login Gerçekleştiğinde
    B anaEkran = new B(txtUser.getText());
    B.setVisible(true);
  • Her formun da ulaşabileceği singleton bir class yapın. Gerekli bütün veriyi burda tutun. Ileride formlar arası veri artarsa bütün constructor lari guncellemek zorunda kalmazsınız. Multithread yazdiysaniz singleton classi buna göre dizayn edin.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • ecivas E kullanıcısına yanıt
    Hocam lblKarsilamaMesaji.setText() burada sorun var. .setText() diye bir şey olmadığını gözüküyor. metodun içerisinde sanırım .setText komutunu kullanamıyoruz.
  • quote:

    Orijinalden alıntı: Mephalay

    Her formun da ulaşabileceği singleton bir class yapın. Gerekli bütün veriyi burda tutun. Ileride formlar arası veri artarsa bütün constructor lari guncellemek zorunda kalmazsınız. Multithread yazdiysaniz singleton classi buna göre dizayn edin.

    Singleton tasarım kalıbını bilmiyordum. Araştırdığımda şöyle bir yazıyla karşılaştım. Ben class lar ile çalışıyorum sorun çıkarmaz mı?

    quote:


    Mesela yaratmış olduğunuz bir sınıf olsun, bu sınıfın sadece ve sadece bir tane olması gerektiği bir sisteminiz var. Bu durumda SINGLETON kalıbı ile bu koşulu garanti altına almış olursunuz.

    SINGLETON ayrıca, bu tek olan sınıfa heryerden erişimin sağlandığını da garanti eder.

    !! Singleton sınıfı, bir sınıftan sadece ve sadece bir tane olması gereken ve bu sınıfa sistemdeki diğer tüm bileşenlerin ulaşması gereken durumlarda kullanılmalıdır.




  • quote:

    Orijinalden alıntı: WalkOfTheEarth

    quote:

    Orijinalden alıntı: Mephalay

    Her formun da ulaşabileceği singleton bir class yapın. Gerekli bütün veriyi burda tutun. Ileride formlar arası veri artarsa bütün constructor lari guncellemek zorunda kalmazsınız. Multithread yazdiysaniz singleton classi buna göre dizayn edin.

    Singleton tasarım kalıbını bilmiyordum. Araştırdığımda şöyle bir yazıyla karşılaştım. Ben class lar ile çalışıyorum sorun çıkarmaz mı?

    quote:


    Mesela yaratmış olduğunuz bir sınıf olsun, bu sınıfın sadece ve sadece bir tane olması gerektiği bir sisteminiz var. Bu durumda SINGLETON kalıbı ile bu koşulu garanti altına almış olursunuz.

    SINGLETON ayrıca, bu tek olan sınıfa heryerden erişimin sağlandığını da garanti eder.

    !! Singleton sınıfı, bir sınıftan sadece ve sadece bir tane olması gereken ve bu sınıfa sistemdeki diğer tüm bileşenlerin ulaşması gereken durumlarda kullanılmalıdır.


    Singleton da bir class. Ama uygulamada yalnizca bir tane olmasinin garanti altinda oldugu bir class. Uygulamaniz icerisinde surekli degisen bir takim verilere herkesin ulasmasini istiyor iseniz, bu class'da tutabilirsiniz.
    Ornegin uygulamayi sadece 1 tane yonetici kullaniyor ise, Singleton bir Yonetici class'i tanimlayip, ilgili bilgileri bu class'da tutabilirsiniz.
    Farkli formlar araciligi ile de Yonetici'nin bilgilerine erisirsiniz.
    Ornegin yukaridaki cevapta " B anaEkran = new B(txtUser.getText()); " gibi bir kullanim var. Halbuki ana ekran class'ini construct etmek icin herhangi bir kullanici adi vermeniz dogru degil.
    Constructor, construct edebilmek icin gerekli parametreleri almalidir.
    Formlar ile yonetici singleton'ina erisim saglayip veri cekip, veri degistirebilirsiniz, boylelikle butun application boyunca erisebileceginiz ve veri saklayabileceginiz bir yapi kullanmis olursunuz.
    Web uygulamalarinda da Session objesi benzer sekilde tasinir. Her kullanici icin bir adet session objesi surekli veri tasir.
    " Ben class lar ile çalışıyorum sorun çıkarmaz mı? " demissiniz. O da bir class oldugu icin object oriented mantigina ters degildir ve isinizi kolaylastirir.
    Singleton class'larin constructor'lari private olur, herkes yeni bir obje olusturamaz. Static sekilde olusturulurlar.
    Eger singleton kullanmaya karar verirseniz ve nasil kullanilacagina dair bilgi bulamazsaniz ona da ornek verebilirim.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.