Java GDK+: 找不到 Pixbuf 图像
Java GDK+: Pixbuf image not found
org.gnome.gdk.Pixbuf
构造函数的文件路径参数相对于哪个目录?我应该把文件放在哪里?
Main.java
public class Main
{
public static void main( String... args )
{
Gtk.init( args );
new Example();
Gtk.main();
}
}
Example.java
public class Example
{
private Pixbuf icon;
public Example()
{
try {
icon = new Pixbuf( "images/bolt.png" );
} catch ( FileNotFoundException e ) {
e.printStackTrace();
}
}
}
它抛出以下异常:
java.io.FileNotFoundException: images/web.png not found
我的目录结构是:
使用this.getClass().getResourceAsStream(/images/bolt.png)
得到一个InputStream
并使用这个answer将它转换为一个byte[]
,你可以将它传递给Pixbuf构造函数。
如果您正在使用 Java 9,您还可以在 InputStream
上调用 readAllBytes()
。
org.gnome.gdk.Pixbuf
构造函数的文件路径参数相对于哪个目录?我应该把文件放在哪里?
Main.java
public class Main
{
public static void main( String... args )
{
Gtk.init( args );
new Example();
Gtk.main();
}
}
Example.java
public class Example
{
private Pixbuf icon;
public Example()
{
try {
icon = new Pixbuf( "images/bolt.png" );
} catch ( FileNotFoundException e ) {
e.printStackTrace();
}
}
}
它抛出以下异常:
java.io.FileNotFoundException: images/web.png not found
我的目录结构是:
使用this.getClass().getResourceAsStream(/images/bolt.png)
得到一个InputStream
并使用这个answer将它转换为一个byte[]
,你可以将它传递给Pixbuf构造函数。
如果您正在使用 Java 9,您还可以在 InputStream
上调用 readAllBytes()
。