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( );
    }
});
}
私はネットビーンズ7.1.1を使用しています。これは、「c」を「final int」として宣言した私のコードですが、「c=Integer.parseInt(f.getText());」という行です。「最終変数に値を割り当てることができません」というエラーが表示されます。宣言から final という単語を削除して「int c」と同じにする場合、同じ行に「クラス内からローカル変数 c にアクセスできません。final を宣言する必要があります」というエラーが表示されます。なぜこれが起こっているのか誰にも教えてもらえますか?