JButton ImageIcon无法正常工作

时间:2015-05-13 18:54:26

标签: java jbutton imageicon

所以我试图将指定的图像作为Jbutton的“look”,但它只是不起作用。任何想法?

代码:

JButton btnClose = new JButton("Close");
    try {
        Image img = ImageIO.read(Window.class.getResource("resources/quit_button.bmp"));
        btnClose.setIcon(new ImageIcon(img));
      } catch (IOException ex) {
      }

btnClose.setVisible(true);
btnClose.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        frame.dispose();
    }
});

我的图片路径是: C:\用户\ *用户* \工作空间\ PEDE \ pede_Exe \资源\ quit_button.bmp

1 个答案:

答案 0 :(得分:1)

“不工作”不是很多,但我怀疑是ImageIO在设置图标之前抛出异常。这通常(但不是唯一)因为你的路径是错误的。

首先,打印堆栈跟踪。应该是,对你来说,

ex.printStackTrace();

在你的catch区块中。该堆栈跟踪是有问题的代码的箭头,并且通常附有简明的英语解释。养成这个习惯,你不会后悔的。

其次,请确保您正在寻找适合您图像的地方。最简单的方法可以在这里找到:Find where java class is loaded from

如您所见,有很多可能性。如果您的类的路径与资源的路径混合在一起并不真实,那么ImageIO将找不到您的图标。