невозможно присвоить значение «конечной» переменной в java

 private void pushButtonActionPerformed(java.awt.event.ActionEvent evt)
{
    final int c=0;
    final JDialog d=new JDialog();
    JLabel l=new JLabel("Enter the Element :");
    JButton but1=new JButton("OK");
    JButton but2=new JButton("Cancel");
    final JTextField f=new JTextField(10);
    JPanel panel = new JPanel();
    but1.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            c=Integer.parseInt(f.getText());
            d.setVisible(false);
            d.dispose( );
        }
     });
but2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        d.setVisible(false);
        d.dispose( );
    }
});
}

Я использую netbeans 7.1.1. Это мой код, здесь я объявил «c» как «final int», но строка «c = Integer.parseInt (f.getText ());» я получаю сообщение об ошибке "не могу присвоить значение конечной переменной". Если я удаляю слово final из объявления и делаю его таким же, как «int c», то в той же строке я получаю сообщение об ошибке «локальная переменная c недоступна из класса; ее необходимо объявить final». может кто-нибудь сказать мне, почему это происходит?

13
задан rick 16 April 2012 в 12:27
поделиться