не может присвоить значение «окончательной» переменной в 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». Кто-нибудь может сказать мне, почему это происходит?