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

<code> 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( );
    }
});
}
</code>

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

Ответы на вопрос(7)

Ваш ответ на вопрос