我正在尝试创建一个程序,打印出带有字符串文本字段的图片。我对如何使用外部 Action 监听器中的变量来确定图片是什么感到困惑。
我的程序的用户可以按顶部的任意五个按钮之一,它将返回一个随机字符串。我的项目文件夹中保存有该 string.jpg 的文件,但我无法执行我的代码。
我知道它具有范围,因为当我将输出行打印到屏幕上的图像字符串时,它会打印 null 并且出现空指针异常。我在设置文本框时遇到了同样的问题,但使用了(可能?)我所做的糟糕的解决方法。
是的,我也知道使用公共(public)静态变量并不是很好的编程技术。无论如何,我只是想不出一种让它工作的方法,所以我来向你寻求帮助,使其工作以及可能更好的编程技术。
希望这对我想要做的事情有一定的了解。预先感谢您的任何帮助或建议。
最佳答案
ImageIcon image = new ImageIcon(imgStr);
在 imgStr
初始化之前调用。
imgStr
仅在单击其中一个按钮时分配。您应该给它一个初始值。
我假设您希望在每次单击按钮时更新 label3
的图像。目前,您只需根据 imgStr
的初始值初始化该图像一次。
关于静态变量的 Java 范围以及在按钮操作监听器中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28513200/