Как положить метод в переменную java?

260
04 апреля 2018, 11:31

Есть jcombobox в котором есть лиснер в котором есть if в котором выбирается какой метод использовать. Нужно как то хранить этот выбор, чтобы вызвать его в другом методе другого класса. Я вижу так. Положить результат выбора в переменную и затем вызвать переменную там, где это необходимо. Вызвать метод напрямую пробовал но из-за необходимости jcombobox быть static не даёт его инициализировать в родительском классе

Answer 1

Статический метод принимающий File и ничего не возвращающий можно сохранить в переменной так

Consumer<File> methodRef = SomeClass::someMethod;

нестатический так

SomeClass obj = new SomeClass();
Consumer<File> methodRef = obj::someMethod;

а вызвать потом так

methodRef.accept(new File("test.txt"));
Answer 2

Все оказалось довольно просто. Все что мне нужно было сделать это выразить логику на bh а с pl получить лишь входящие данные. А я пытался выразить логику и ее результат на pl и запихнуть в переменную и затем передать ее на bh. Всем спасибо:)

READ ALSO
Когда нужно использовать Enum?

Когда нужно использовать Enum?

Всем приветВ проектировании приложения часто попадаются статические элементы, например, кнопки нижней навигации, отвечающие за смену фрагмента,...

223
Извлечь папку из корня программы

Извлечь папку из корня программы

Для извлечения одного или нескольких файлов я использую конструкцию вроде такой:

209
Как с помощью Maven собрать проект Jetty+jsf, jsp, servlets?

Как с помощью Maven собрать проект Jetty+jsf, jsp, servlets?

Здравствуйте! У меня такой вопрос: могу ли я в одном проекте, который собираю с помощью Maven, и в качестве контейнера использую Jetty, для генерации...

207
Как создать ХитБокс для 2D игры?

Как создать ХитБокс для 2D игры?

Я не очень хорошо смыслю в программировании и в целом математике поскольку недавно начал изучать эту отрасльМне нужна помощь с разработкой...

178