java - JButton ImageIcon 不工作

标签 java jbutton imageicon

所以我试图获取指定的图像作为 Jbutton 的“外观”,但它不起作用。有什么想法吗?

代码:

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:\用户\ *用户*\workspace\Pede\pede_Exe\resources\quit_button.bmp

最佳答案

“不工作”并没有什么意义,但我怀疑 ImageIO 在设置图标之前抛出了异常。这通常(但不完全)是因为您的路径错误。

首先,也是最重要的,打印堆栈跟踪。对你来说应该是这样,

ex.printStackTrace();

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

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

正如您所看到的,有很多可能性。如果你的类的路径与你的资源的路径复合,不是真实的东西,那么 ImageIO 将找不到你的图标。

关于java - JButton ImageIcon 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30223097/

相关文章:

java - Long.toBinaryString 未返回 827.0 的预期二进制字符串

java - ListView、RecyclerView 还是..?

java - 将 JButton 添加到 JTextPane

java - 单击后更改按钮文本,然后使用 JAVA ActionEvent 再次单击后恢复更改

java - 在java中使用图像图标并通过JRadio按钮实现在线/离线用户(查看)功能

java - 自定义 JOptionPane 对话框

java - This() 与 Target() 方面

java - libgdx 中点击检测和按钮图形之间的偏移

java - 我怎样才能创建一个 JButton?

java - 在 Eclipse 中访问图像路径