图像没有显示在图像按钮中

时间:2014-03-27 22:22:34

标签: java swing jbutton embedded-resource imageicon

我创建了一个图像按钮,但它没有显示图像。该文件位于src\MyPackage文件夹中。我该如何映射?

有我的代码:

jpAnnotation=new JPanel();     

jpAnnotation.setLayout(new FlowLayout(FlowLayout.LEADING));
JButton btnUnderline =new JButton(new ImageIcon ("UnderlineIcon.gif"));
btnUnderline.setSize(50, 260);
btnUnderline.setAlignmentX(JButton.LEFT_ALIGNMENT);
btnUnderline.setHorizontalAlignment(JButton.LEFT);
btnUnderline.addActionListener(new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent arg0){                      
         ActionEvent ae = new ActionEvent(bean, 0, "Underline");
         bean.actionPerformed(ae);
    }
});
jpAnnotation.add(btnUnderline); 

2 个答案:

答案 0 :(得分:3)

只是一小段代码片段:

btnUnderline.setIcon(
  new ImageIcon(getClass().getResource("/path/to/UnderlineIcon.gif")));

简要说明

使用此语句加载图片,您无需关心文件的正确网址,因为您会自动获取正确的网址。

这是基于从类路径而不是从文件系统路径加载资源!

答案 1 :(得分:1)

试试这个:

btnUnderline.setIcon( new ImageIcon( "C:\\YourFolder\src\MyPackage\UnderlineIcon.gif" ) );

当然,如果您使用的是Windows。或者,您可以将gif移动到与执行代码的目录相同的目录。