如何解决Java Jar 文件图形未显示
我创建了一个简单的图形程序(非常简单)。当我运行类文件时一切正常,但是当我简单地创建一个 JAR 文件(可执行文件)时,没有任何运行。我能不能得到一些帮助。谢谢。我在cmd中正常编译,用命令“jar -cf Graphics.jar Graphics.class Render.class icon.png”
Graphics.java:
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class Graphics extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
public Graphics() {
JFrame window = new JFrame();
window.setDefaultCloseOperation(EXIT_ON_CLOSE);
window.setSize(500,500);
window.add(new Render());
window.setTitle("Example of Graphics in JAVA");
ClassLoader ldr = this.getClass().getClassLoader();
URL imager = ldr.getResource("./icon.png");
String path = imager.getPath();
File f = new File(path);
File imageicon = f;
Image im = null;
try {
im = ImageIO.read(imageicon);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
window.setIconImage(im);
window.setVisible(true);
}
public static void main(String[] args) {
Graphics g = new Graphics();
}
}
Render.java:
import javax.swing.*;
import java.awt.Color;
import java.awt.Graphics;
public class Render extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L;
public void paintComponent(Graphics graph) {
super.paintComponent(graph);
this.setBackground(Color.blue);
graph.setColor(Color.red);
graph.fillArc(0,400,360);
}
}
还有一个图片叫做“icon.png”
解决方法
更改File
:
im = ImageIO.read(imageicon);
回到URL
:
im = ImageIO.read(imager);
作为嵌入资源(在 Jar 中),它不再是 File
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。