В зависимости от того, как вы создаете экземпляр этого класса, вам нужно объявить переменную clicked
либо на уровне поля, либо на уровне переменной класса. В настоящее время область действия переменной clicked
является локальной для метода.
Вариант 1
int clicked = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
clicked++;
System.out.println(clicked);
}
Вариант 2
static int clicked = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
clicked++;
System.out.println(clicked);
}
Опция, которую вы использование будет зависеть от экземпляра. Второй вариант следует избегать, если это возможно.
Из вопроса я понял, что есть тема kafka, в которой есть имя файла и кодированное в base64 содержимое файла в формате json; Вы хотите использовать тему kafka, декодировать содержимое файла с помощью Base64, чтобы создать изображение, и сохранить изображение в имени файла, используя PutFile.
Я придумал поток, который выполнит это требование и говорит сам за себя.
EvaluateJSONPath
ReplaceText - ( Заметьте значение замены)
На шаге 2 вы заменили содержимое файла потока значением $ .filedata, которое больше не является JSON, поэтому вы не можете использовать EvaluateJsonPath на шаге 3, так как JSON больше нет.
Если вы измените шаги 2 и 3 в обратном порядке, вы можете извлечь имя файла в атрибут и при этом сохранить исходный JSON в содержимом файла потока, а затем извлечь данные файла в содержимое.
в соответствии с документацией PutFile :
Считывает атрибуты
filename
: имя файла, которое используется при записи FlowFile на диск. blockquote>вам просто нужно использовать процессор
UpdateAttribute
, чтобы установить значение для атрибутаfilename