怎样在java中的按钮JButton上加图片

哪位java高手帮我看看这个程序在编译时一切显示正常,但为什么没有显示也没有声音播放?importjava.awt.*;importjavax.swing.*;impor... 哪位java高手帮我看看这个程序在编译时一切显示正常,但为什么没有显示也没有声音播放?
import java.awt.*;
import javax.swing.*;
import java.applet.*;
import java.awt.event.ActionListener;
import java.util.EventListener;
import java.awt.event.ActionEvent;

public class SheJi_1_xc extends JApplet implements ActionListener
{
Container p;
JPanel p1,p2,p3,p4,p5;
JButton b1,b2,b3;
JLabel a;
JButton tp[]=new JButton[10];
AudioClip m;
GridLayout gr;
CardLayout c=new CardLayout(); //设置c为卡片布局
Font f;

public void init()
{
m=getAudioClip(getCodeBase(),"am.wma");
p=getContentPane(); //p获得这个容器
gr=new GridLayout(0,0);
p.setLayout(gr);

p1=new JPanel();p2=new JPanel();p3=new JPanel();
p4=new JPanel();p5=new JPanel();

p1.setBackground(Color.red); //p1板设置成红色背景
a=new JLabel("XXX的相册");
f=new Font("隶书",Font.BOLD,30);
a.setFont(f); //将字体设置给标签a
a.setForeground(Color.blue); //给标签上的字加兰色
p1.add(a); //将标签a贴到p1板子上

b1=new JButton("上一页"); //创建3个按钮
b2=new JButton("下一页");
b3=new JButton("播放声音");
p3.add(b1);p3.add(b2);p3.add(b3);//将3个按钮添加到p3板子上

p2.setLayout(c); //将p2板设置成卡片布局
for(int i=0;i<10;i++)
{
tp[i]=new JButton(new ImageIcon(i+".jpg"));//用循环在10按钮上添加图片
p2.add(String.valueOf(i),tp[i]); //将各个按钮添加到p2板上
}
p.add("North",p1); //将p1放到p容器中的北部
p.add("Center",p2); //将p2放到p容器中的中心
p.add("South",p3); //将p1放到p容器中的南部
b1.addActionListener(this); //对3个按钮加监听
b2.addActionListener(this);
b3.addActionListener(this);
show(); //显示这个容器,对吗?
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1) //如果事件发生在b1上,容器p2在卡片布局中前翻一页
c.previous(p2);
if(e.getSource()==b2) //如果事件发生在b1上,下翻一页
c.next(p2);
if(e.getSource()==b3) //如果事件源是b3按钮则播放声音
m.play();
}
}
展开
 我来答
一数一道
推荐于2017-10-14 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:217万
展开全部

  JButton有一个setIcon(Icon icon);方法可以在JButton上加图片。例如:

public class ButtonImage
{
    public ButtonImage()
    {
        JFrame frame = new JFrame();
        JButton button = new JButton("confirm");
        ImageIcon icon = new ImageIcon("image.jpg");
        button.setIcon(icon);
        frame.add(button);
        frame.setLayout(new FlowLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setVisible(true);
    }
    public static void main(String[] args)
    {
        new ImageButton();
    }
}

  可以把iamge.jpg裁剪为合适的大小,效果可能就会很好。

wangye6682002
2009-11-28 · TA获得超过905个赞
知道小有建树答主
回答量:637
采纳率:100%
帮助的人:298万
展开全部
ImageIcon icon = new ImageIcon("image\\004.gif");

然后JButton abc=new JButton(icon)即可
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式