Soru & Cevap

Label etiketi, buton event dışında çalışmıyor. ...

12.11.2014 - 01:39

Merhaba.

"Android 101" eğitiminde gördüğüm bazı kodları pekiştirmek için ufak bir uygulama yaptım. Fakat çözemediğim bir sorunla karşılaştım.

Asağıda paylaştığım kod örneğinde yorum satırları arasına alıp koyu yazı ile belirttiğim bir kısım var.

Bu kısım sizinde anlayacağınız gibi bir label bileşenini tanımlamaya yarıyor.

Ben bu tanımlamayı "Buton event" ın dışında, diğer elemanlar gibi tanımladığım zaman, "Buton event" içinde  " if  " yapısındaki "lbl_Mesaj" özellikleri hata veriyor (Tanımlanmıyor).

Fakat, "buton event" ifadesinin dışında tanımlanmış olan textField nesneleri sorunsuz bir şekilde "buton event" içinde çalışıyor.

Bu sorun neyden kaynaklanıyor olabilir ?

 

 

import java.awt.EventQueue;

import javax.swing.JFrame;
import java.awt.Window.Type;
import java.awt.Toolkit;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.io.*;
import java.awt.Font;
import java.awt.Color;


public class abcd {

    private JFrame frmKlasrOluturma;
    private JTextField txt_SurucuYolunuGirin;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    abcd window = new abcd();
                    window.frmKlasrOluturma.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public abcd() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frmKlasrOluturma = new JFrame();
        frmKlasrOluturma.setType(Type.UTILITY);
        frmKlasrOluturma.setTitle("Klasör Oluşturma Robotu");
        frmKlasrOluturma.setBounds(100, 100, 567, 111);
        frmKlasrOluturma.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frmKlasrOluturma.getContentPane().setLayout(null);
        
        JLabel lbl_SurucuYolunuGirin = new JLabel("Sürücü Yolunu Girin");
        lbl_SurucuYolunuGirin.setFont(lbl_SurucuYolunuGirin.getFont().deriveFont(lbl_SurucuYolunuGirin.getFont().getStyle() | Font.BOLD));
        lbl_SurucuYolunuGirin.setBounds(10, 11, 114, 14);
        frmKlasrOluturma.getContentPane().add(lbl_SurucuYolunuGirin);
        
        txt_SurucuYolunuGirin = new JTextField();
        txt_SurucuYolunuGirin.setEnabled(true);
        
        txt_SurucuYolunuGirin.setBounds(126, 8, 261, 20);
        frmKlasrOluturma.getContentPane().add(txt_SurucuYolunuGirin);
        txt_SurucuYolunuGirin.setColumns(10);
        
        JButton btn_KlasorOlustur = new JButton("Klasör Oluştur");
        btn_KlasorOlustur.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0)
            {
                txt_SurucuYolunuGirin.setEnabled(false);
                
                //*************************************************************************************************************************************************
                JLabel lbl_Mesaj = new JLabel("");        
                lbl_Mesaj.setEnabled(false);
                lbl_Mesaj.setBounds(126, 39, 261, 20);
                frmKlasrOluturma.getContentPane().add(lbl_Mesaj);
                //*************************************************************************************************************************************************

                
                File buKlasoruOlustur = new File(txt_SurucuYolunuGirin.getText());
                if(!buKlasoruOlustur.exists())
                    {
                        buKlasoruOlustur.mkdir();

 

                    
                        lbl_Mesaj.setEnabled(true);
                        lbl_Mesaj.setForeground(new Color(0, 128, 0));
                        lbl_Mesaj.setFont(lbl_Mesaj.getFont().deriveFont(lbl_Mesaj.getFont().getStyle() | Font.BOLD));
                        lbl_Mesaj.setText("Klasör Oluşturuldu");                    
                    }
                
                    else
                        {
                            lbl_Mesaj.setEnabled(true);
                            lbl_Mesaj.setForeground(Color.RED);                            
                            lbl_Mesaj.setFont(lbl_Mesaj.getFont().deriveFont(lbl_Mesaj.getFont().getStyle() | Font.BOLD));
                            lbl_Mesaj.setText("Bu klasör önceden oluşturulmuş");
                        }
            }
        });
        btn_KlasorOlustur.setBounds(397, 7, 120, 23);
        frmKlasrOluturma.getContentPane().add(btn_KlasorOlustur);        
        
        JLabel lblSonu = new JLabel("Sonuç :");        
        lblSonu.setForeground(new Color(0, 0, 0));
        lblSonu.setFont(lblSonu.getFont().deriveFont(lblSonu.getFont().getStyle() | Font.BOLD));
        lblSonu.setBounds(78, 42, 46, 14);
        frmKlasrOluturma.getContentPane().add(lblSonu);
    }
}

 

16 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-9626-1398797004.jpg
bakiabaci
12.11.2014 - 09:40

Merhaba Çağrı,

Büyük ihtimal label tanımlarken "null "değer ataması gerçekleştiyorsunuz, o yüzden null hatasını size veriyor olabilir. Tanımlama yaparken bi default değer veriniz..

İyi çalışmalar..