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