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");
}
}
} 展开
【示例程序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");
}
}
} 展开
4个回答
展开全部
是啊 就像一楼说的 感觉像是图片的路径有问题 如果你的图片和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进行解码。
展开全部
所有图片,还上绝对路径就可以了,最好路径中不要有中文,一般找不到的。
或者就像二楼说的处理
或者就像二楼说的处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路径错误
参考资料: 中南大学软件学院
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你图片放的路径对吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询