Я пытаюсь создать программу, которая выводит изображение с текстовым полем строки. Я смущен тем, как использовать переменную из прослушивателя действий вне ее, чтобы определить, что такое изображение.
Пользователь моей программы может нажать одну из пяти кнопок вверху и вернуть случайную строку. У меня есть файлы, сохраненные в моей папке проекта, как в файле string.jpg, но я не могу выполнить свой код.
Я знаю его что-то с областью видимости, потому что, когда я помещаю выходную строку для печати на экран, у него появляется сообщение об ошибке null, и я получаю исключение с нулевым указателем. У меня была та же проблема с установкой текстового поля, но я использовал (возможно?) Плохое обходное решение, которое я сделал.
Да, я также знаю, что использование общедоступных статических переменных - это не очень хорошая техника программирования. Я просто не могу понять, как заставить ее работать независимо, поэтому я пришел к вам за помощью, чтобы она работала, а также, возможно, улучшила технику программирования.
Надеюсь, это несколько ясно, что я пытаюсь сделать. Заранее благодарим за любую помощь или совет.
ImageIcon image = new ImageIcon(imgStr);
вызывается до инициализации imgStr
.
imgStr
назначается только при нажатии одной из кнопок. Вы должны дать ему начальное значение.
Я предполагаю, что вы хотите обновлять изображение label3
каждый раз, когда нажимается кнопка. В настоящее время вы только инициализируете это изображение один раз, основываясь на начальном значении imgStr
.