Я пытаюсь сохранить текстовое значение JButton в переменной, но выдается исключение "local variable referenced from an inner class must be final or effectively final"
.
public String NumberList()
{
String VAL= new String();
int HalnBut=5;
JFrame Fram=new JFrame();
JLayeredPane lyp=new JLayeredPane();
JButton[] options=new JButton[10];
Fram.setBounds(400,100,555,100);
Fram.add(lyp);
lyp.setBounds(400,100,700,200);
Fram.setVisible(true);
for(int i=1;i<=9;i++)
{
options[i]=new JButton(String.valueOf(i));
lyp.add(options[i]);
options[i].setVisible(true);
options[i].setBounds(HalnBut, 0, 50, 50);
options[i].addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
String value;
value=options[i].getText();/*EXception of final variable as shown above
}
});
HalnBut=HalnBut+60;
}
}
Я пытаюсь сохранить текстовое значение JButton в VAL и вернуть его в другой прослушиватель событий