Вы создаете массив, но вам также нужно создать новые ImageProcessor
объекты во внешних скобках, используя ключевое слово new
:
class GUI {
private ImageProcessor imager = new ImageProcessor();
private ImageProcessor[] LAMBDAS = new ImageProcessor[] {
//LAMBDAS[0]
new ImageProcessor() {
public void blur() {
imager.blur();
}
},
//LAMBDAS[1]
new ImageProcessor() {
public void blur() {
imager.blur();
}
} };
}
Вы также можете опустить часть new ImageProcessor[]
синтаксис инициализации массива, если он предпочтителен, и просто используйте фигурные скобки.
Выше приведен только синтаксический код ошибки, вызывающий ошибки компилятора. Как примечание, это не то, как обработчики событий обычно связаны даже с источниками. Массив не поможет вам в этом случае. Если бы у вас было (например) несколько кнопок, выполняющих похожие события с разными аргументами , то, возможно, вам понадобился бы массив. В вашем случае, однако, должно быть достаточно зарегистрировать события, добавив прослушиватель без компиляции массива ImageProcessor
объектов, при этом каждый ImageProcessor
выполняет только одно и то же (например, один из blur()
, sharpen()
и др. c.).