Как в программе на Java получить значение переменной aa из функции button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
int aa = Integer.parseInt(getValue);
}
});
java
public class MyClass {
private int aa;
public void myFunction() {
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
aa = Integer.parseInt(getValue);
}
});
}
public int getAa() {
return aa;
}
}
Теперь, чтобы получить значение переменной "aa", нужно создать экземпляр класса "MyClass" и вызвать метод "getAa":
java
MyClass myObject = new MyClass();
myObject.myFunction();
int aaValue = myObject.getAa();
В этом примере, значение переменной "aa" будет доступно после вызова метода "myFunction" и установки значения в обработчике событий "actionPerformed".
Второй подход - использовать уже существующую переменную "aa" внутри анонимного класса "ActionListener" как финальную, чтобы иметь к ней доступ из внутреннего класса:
java
public void myFunction() {
final int[] aa = new int[1];
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
aa[0] = Integer.parseInt(getValue);
}
});
}
Теперь, чтобы получить значение переменной "aa", нужно объявить и передать массив "aa" при создании анонимного класса:
java
int[] aaValue = new int[1];
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
aaValue[0] = Integer.parseInt(getValue);
}
};
button.addActionListener(listener);
В этом примере, значение переменной "aa" также будет доступно после вызова метода "myFunction" и установки значения в обработчике событий "actionPerformed".
Третий подход - использовать объект-обертку для переменной "aa" вместо примитивного типа данных int.
java
public void myFunction() {
final Integer[] aa = new Integer[1];
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
aa[0] = Integer.parseInt(getValue);
}
});
}
java
Integer[] aaValue = new Integer[1];
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String getValue = input.getText();
aaValue[0] = Integer.parseInt(getValue);
}
};
button.addActionListener(listener);
В этом подходе мы используем массив ссылок на объект типа Integer, чтобы быть в состоянии изменять значение переменной "aa".
В обоих случаях, можно установить значение переменной "aa" из функции "actionPerformed" и получить это значение после вызова функции "myFunction". Здесь применяется такой прием, как передача по ссылке, благодаря которому изменения переменной "aa" в анонимном классе отражаются на внешней переменной.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет