【问题标题】:Icon in JButtonJButton 中的图标
【发布时间】:2016-01-25 04:04:01
【问题描述】:

我正在尝试向我的 JButton 添加一个图标,但到目前为止没有任何效果。我已将按钮的代码粘贴在下面,还粘贴了图像的存储位置。

  public static DRTextCode BUTTON_COLLAPSE_NESTED() {
    DRTextCode tc = new DRTextCode ("BUTTON_COLLAPSE_NESTED",         "Collapse");
    return tc;
}


    btn = new JButton(BUTTON_COLLAPSE_NESTED().toString());
    btn.setActionCommand(BUTTON_COLLAPSE_NESTED().toString());
    btn.addActionListener(btnListener);
    btnPnl.add(btn);
    _collapseBtn = btn;

下面是图片位置

“mz/images/svg/folder_collapse.svg”

我不知道如何添加这个

【问题讨论】:

  • 哦,Java 不支持开箱即用的 SVG
  • 我应该怎么做才能调用这个图像?它需要是 .jpg 还是有其他方法可以添加到此图像中
  • JPG、Png、bmp、gif; Reading/Loading an Image
  • btn.setIcon(new ImageIcon("mz/images/svg/folder_collapse.svg"));
  • “将图像转换为支持的格式” 在@MadProgrammer 提到的格式中,保证只有 JPG、PNG 和 GIF支持的。我更喜欢 PNG 或 GIF 的图标。请注意,在加载图像时,ImageIcon 通常会静默失败。如果出现问题(例如“缺少图像”或“不支持的格式”),请使用 ImageIO.read(..) 以获得更好的反馈。实际上只是阅读了链接页面,发现我对 BMP 的看法是错误的,但它是一种效率低下的格式,与其他 3 种 (IMO) 相比没有优势。

标签: java swing icons jbutton


【解决方案1】:

尝试使用 .png 图标,因为它们更常见且易于免费找到,
您可以找到免费的平面图标 here

  • 先在这个路径下创建一个文件夹src/resources

  • 把你的图标放在那个路径并以这种方式使用它们

    JButton button = new JButton();
    try {
         Image img = ImageIO.read(new File("src//resources//icon.png"));
         button.setIcon(new ImageIcon(img));
    } catch (IOException ex) {
    }
    

还可以观看这些有用的教程

【讨论】:

  • 我已经设法通过添加这行代码 btn.setIcon(new ImageIcon("/documentation/en/desktop/screen/collapse.png"));
  • 现在我有另一个问题,这个路径是我机器上的确切路径,但是可以说在客户端机器上,直到屏幕不同的路径的第一部分。如何让它使用从单词 screen 开始的路径?
  • ("这个路径会不同/screen/collapse.png"));
猜你喜欢
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 2023-03-28
  • 2019-01-14
  • 2014-10-10
  • 1970-01-01
相关资源
最近更新 更多