【问题标题】:Adding image to JButton将图像添加到 JButton
【发布时间】:2012-08-15 14:28:54
【问题描述】:

我想将图像添加到JButton。按钮的背景设置为黑色。我尝试在其上添加图像,但没有显示任何内容。背景颜色为黑色,但图像丢失。

代码

public class Test extends JFrame {

    JButton b;
    JPanel p;

    Test() {
        p = new JPanel(new BorderLayout());
        b = new JButton();
        b.setBackground(Color.black);
        ImageIcon img = new ImageIcon("C:\\Users\\Aksi\\Documents\\NetBeansProjects\\test'\\src\\test\\Black_B.ico");
        b.setIcon(img);
       
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(400, 400);
        p.add(b);
        add(p);
       validate();

   }
    public static void main(String args[]) throws IOException {
        Test ob = new Test();
        ob.setVisible(true);
    }
}

【问题讨论】:

  • 请查看这个答案,HOW TO ADD IMAGES TO YOUR PROJECT 和这个answer,以获取有关如何在项目中添加图像而不是使用绝对路径的更多信息。如果在将容器设置为可见之前向容器中添加内容,则无需调用 validate()

标签: java image swing jbutton


【解决方案1】:

两件事

  1. 路径看起来不对
  2. Java 本身不支持 ico 格式

看一下路径,路径中有引号

C:\\Users\\Aksi\\Documents\\NetBeansProjects\\test'\\src\\test\\Black_B.ico

只要确定它是否存在

【讨论】:

  • +1 for @MadProgrammer 回答正确,祝你友谊日快乐 MadProgrammer :)
【解决方案2】:

请注意,您应该使用一些 Java 支持的图像格式,例如 .gif、.png。

【讨论】:

  • 好收获。有关 JRE 声称支持的映像类型的列表,请参阅ImageIO.getReaderFileSuffixes()。注意输出可能会根据版本或操作系统而变化,因此最好在运行时检查用户图像,并坚持使用 JPG、PNG 或 GIF 获取应用程序图像.
【解决方案3】:

Oracle 上有很好的文档记录。

http://docs.oracle.com/javase/tutorial/uiswing/components/button.html

HOW TO USE ICONS

祝你好运!

【讨论】:

    【解决方案4】:

    试试这个方法:

    在您的 java 项目中创建包,如 com.icon 并在其中添加图标。

    您将通过这种方式设置图标的打开按钮:

    button.setIcon(new ImageIcon(MyFrame.class.getResource("com/icon/Ok.png")));
    

    只是一个建议:使用 .png 而不是 .ico。

    【讨论】:

      【解决方案5】:

      这是我以前添加图片和文字的方式:

      Icon a=new ImageIcon(getClass().getResource("a.png"));
      buttonname=new JButton("ButtonTittle",a);
      

      【讨论】:

        猜你喜欢
        • 2012-11-02
        • 2011-06-15
        • 2012-07-10
        • 2017-07-03
        • 1970-01-01
        • 1970-01-01
        • 2011-05-06
        • 2013-05-04
        相关资源
        最近更新 更多