java - 如何在java中运行时动态添加图像

标签 java image jpanel dynamic

我一直在尝试在运行时动态加载图像很长时间,并且查看了该网站上的其他帖子,但尚未找到确切的可行方法。我试图在 GUI 运行时加载图像(在运行时生成)并尝试了各种方法。现在,我发现创建图像的最简单方法是使用 JLabel 并向其添加 ImageIcon。这已经起作用了,但是当我在 GUI 运行后加载它时,它失败并提示存在“NullPointerException”。这是我到目前为止的代码:

p = Runtime.getRuntime().exec("python C:\\FaceVACS\\roc.py " + "C:/FaceVACS/OutputCMC_" + target + ".txt " + "C:/FaceVACS/ROC_" + target + ".png");
Icon graph = new ImageIcon("C:\\FaceVACS\\OutputCMC_" + target + ".png");
roc_image.setIcon(graph);
panel.add(roc_image);
panel.revalidate();
gui.frame.pack();

我尝试过 panel.validate()、panel.revalidate(),也尝试过 gui.getRootPane(),但我似乎找不到任何有效的方法。

任何想法都会有帮助!谢谢

最佳答案

getRuntime().exec 用于启动外部程序。要简单地加载文件以在 Java 应用程序中使用,您只需像对待任何其他文件一样对待它即可。事实上,如果您使用 Swing,ImageIcon 构造函数将采用包含文件路径的字符串作为参数。

How to add an image to a JPanel?

上述问题解释了如何将图像添加到 JPanel,这可以在运行时通过事件处理程序完成。

关于java - 如何在java中运行时动态添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641386/

相关文章:

java - 带点的谢尔宾斯基垫片

c++ - 错误 : '' cannot convert 'uint8* {aka unsigned int*}' to 'const emxArray_uint8_T*' ? '?

java - 为什么我的 JPanel 在特定尺寸下看起来是灰色的,而在另一个尺寸下却不是?

Java,听众建议,swing comp's

java - 如何在 JTreeTable 中获得正确的选择?

java - Matlab 图形用户界面自动化?

android - 非透明像素上的 ImageView 颜色过滤器。夹子

css - 在 div 中居中背景图像

java - 如何在.form创建的子面板上绘图?

java - 终端显示找不到文件后怎么办?