所以我刚刚写下了一些只在JButton中显示图像的简单代码。 我所做的就是编写代码:
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JFrame{
public static ImageIcon bf;
public static JPanel p;
public static JButton b;
public static void main (String args[]){
Main main = new Main();
bf = new ImageIcon("car.png");
p = new JPanel();
b = new JButton(bf);
p.add(b);
main.add(p);
main.setVisible(true);
main.setDefaultCloseOperation(main.EXIT_ON_CLOSE);
main.setSize(600,700);
}
}
我在同一个文件夹中复制了一张名为car.png的图片,但是我似乎无法让它在elipse中工作。
但是当我在BlueJ中运行相同的代码时,它运行它没有任何已知问题。 任何帮助都会受到高度赞赏 在此先感谢。
答案 0 :(得分:1)
检查car.png
是否在文件系统的bin
目录下(在Eclipse中过滤掉,在文件浏览器中也是如此)。
顺便说一下,我建议使用像ImageIO.read(Main.class.getResource("/car.png"))
这样的东西。原因如下:稍后您可能会打包您的应用程序(例如,进入Jar文件)。现在,如果你这样做,Java就能够定位图像,即使它是作为Jar或
答案 1 :(得分:1)
更改
bf = new ImageIcon("car.png");
到
URL url = Main.class.getResource("car.png");
bf = new ImageIcon(url);