JAVA无法在按钮上显示图标?

按照下面这个程序写,试过了用ico,jpg,gif格式的图片,都无法显示,这是为什么?图是书上的示例,自己运行之后只有按钮和文字,没有图标.【示例程序c9_1.java】... 按照下面这个程序写,试过了用ico,jpg,gif格式的图片,都无法显示,这是为什么?图是书上的示例,自己运行之后只有按钮和文字,没有图标.

【示例程序c9_1.java】编写一个程序单击按钮时改变标签文本与按钮文本的内容。

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class c9_1 extends JApplet implements ActionListener

{

Container cp=getContentPane();

Icon ro=new ImageIcon("g1.gif");

Icon ge=new ImageIcon("g2.gif");

Icon pr=new ImageIcon("g3.gif");

JButton bt=new JButton();

Icon icon=new ImageIcon("g4.jpg");

JLabel lb=new JLabel("Java",icon,JLabel.CENTER);

public void init()

{

bt.setRolloverEnabled(true);

bt.setText("OK");

bt.setHorizontalTextPosition(JLabel.CENTER);

bt.setVerticalTextPosition(JLabel.BOTTOM);

cp.add(lb,BorderLayout.NORTH);

cp.add(bt,BorderLayout.SOUTH);

bt.setIcon(ge);

bt.setRolloverIcon(ro);

bt.setPressedIcon(pr);

bt.addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==bt)

{

if(lb.getText()=="Hello")

lb.setText("你好!");

else

lb.setText("Hello");

if(bt.getText()=="OK")

bt.setText("确定");

else

bt.setText("OK");

}

}

}
展开
 我来答
nullbd
2009-03-18
知道答主
回答量:10
采纳率:0%
帮助的人:13.3万
展开全部
是啊 就像一楼说的 感觉像是图片的路径有问题 如果你的图片和class类不是放在同一个目录下的话 new ImageIcon("g3.gif"); 这个语句是找不到图片的。你可以用this.getClass().getResource(".").getPath()这个语句来找到你的this对象的类的class文件的url然后再在这个基础上去寻找你的图片的位置,比如如何在上一级包里的img文件夹下的话可以在url后面追加"../img/"这样的 如果就在这个class的目录下的img文件夹里可以追加"img/"或者直接使用this.getClass().getResource("img").getPath();另外如果路径下有中文的话,需要对url进行解码和编码:URLDecoder.decode(this.getClass().getResource(".").getPath().substring(1),"UTF-8");//用URLDecoder类的decode()方法来对url进行解码。
土味洋芋
2009-03-20 · 智慧城市架构师,构建未来城市
土味洋芋
采纳数:134 获赞数:1166

向TA提问 私信TA
展开全部
所有图片,还上绝对路径就可以了,最好路径中不要有中文,一般找不到的。
或者就像二楼说的处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金丝猴熊掌号
2009-03-18 · 超过14用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:40万
展开全部
路径错误

参考资料: 中南大学软件学院

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昌苼珠BD
2009-03-18 · TA获得超过102个赞
知道答主
回答量:86
采纳率:0%
帮助的人:74.4万
展开全部
你图片放的路径对吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式