我在一个罐子里有一个jruby Swing应用程序。在我的源代码main.rb
中,我有一个指定为
img = ImageIcon.new("img/test.png")
不加载。我的路径看起来像这样
lib/main.rb
lib/img/test.png
有没有办法指定图像的相对路径?
另外,我已经找到了使用getResource
在Java中执行此操作的等效方法 new javax.swing.ImageIcon(getClass().getResource("myimage.jpeg"))
我如何在jruby中实现这个?
答案 0 :(得分:1)
就像在Java中一样 - 你的文件不是文件,它必须作为资源inna-jar来处理:
java.net.URL url = getClass().getResource("img/test.png");
ImageIcon image = new ImageIcon(url);
没试过,但是翻译成Ruby,我相信它就像
url = JRuby.runtime.jruby_class_loader.get_resource("/lib/img/test.png")
image = ImageIcon.new(url)