Şimdi Ara

Java String sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü, 1 Mobil
5 sn
4
Cevap
0
Favori
449
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • Merhaba ben javada böyle bir kod yazıp string belirledim sonrada butona bastığımda stringin değişmesi lazım ama değişmiyor neden olabilir?


    package jframe;


    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class frame extends JFrame implements ActionListener{

    private static final long serialVersionUID = 1L;

    static String a = "iyi";



    public static void main(String[] args){
    new frame().setVisible(true);
    }


    public frame(){

    setSize(300,250);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JButton button = new JButton(a);
    add(button);
    button.addActionListener(this);
    setLayout(new FlowLayout());
    }


    public void actionPerformed(ActionEvent e){
    a = "kötü";


    }

    }



    _____________________________
  • Java dilinde String immutable'dir.
    Yani siz, butona basinca a degerinin pointerini degistirdiniz.
    Button hala ilk tanimladiginiz degiskeni gormekte.
    Bu sebeple kodunu su sekilde degistirebilirsin:
     
    public void actionPerformed(ActionEvent e){
    a = "kötü";
    button.setText(a);

    }
  • quote:

    Orijinalden alıntı: Mephalay

    Java dilinde String immutable'dir.
    Yani siz, butona basinca a degerinin pointerini degistirdiniz.
    Button hala ilk tanimladiginiz degiskeni gormekte.
    Bu sebeple kodunu su sekilde degistirebilirsin:
     
    public void actionPerformed(ActionEvent e){
    a = "kötü";
    button.setText(a);

    }



    Ama malasefki public void actionPerformed bölümü public frame() bölümündeki kodları okumuyor ben orda button adında bir JButoon oluşturdum ama malesefki actionPerformed bölümü bunları göremiyor mesela ben orda bir string oluştursam aşağısı okumuyor buyüzden ortak bir string oluşturdum bu nedenlede kod çalışmadı buttonu bulamıyor
    _____________________________
  • karaşimsek kullanıcısına yanıt
    Asagidaki kodu kopyala - yapistir.

     

    package jframe;


    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class frame extends JFrame implements ActionListener{

    private static final long serialVersionUID = 1L;

    static String a = "iyi";
    JButton button = null;


    public static void main(String[] args){
    new frame().setVisible(true);
    }


    public frame(){

    setSize(300,250);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    button = new JButton(a);
    add(button);
    button.addActionListener(this);
    setLayout(new FlowLayout());
    }


    public void actionPerformed(ActionEvent e){
    button.setText("kötü");


    }

    }


    Button objesini frame class'inin degiskenleri seviyesine cekmek gerekiyor birden fazla metodun uzerinde degisiklik yapmasi icin. Bu arada class isimlerini buyuk harf yazmak daha dogru. Kolay gelsin.
    _____________________________




  • 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.