JButton bt = new JButton(icon);  就可以啊!!如果想重载:
public class TestBT extends JButton
{
public void paint(Graphic g)
{
//自己画把!!!!!!!!
}}

解决方案 »

  1.   

    你还可以重载按钮的边框绘制! 等等....
    找到相应的方法, 改哦~~~记得,重载前要:
    public void paint(Graphic g)
    {
    super.paint(g);  //切记//.................}
      

  2.   

    现在还帮不了啊,回去给你找一下吧,这段时间没有学GUI
      

  3.   

    简单,你安装了jdk的吧,你到jdk目录下的demo里面SwingSet2,那里面就有了。
      

  4.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.net.*;
    class iconbutton extends JFrame{
    JButton button;
    JLabel label;
    int num=0;
    URL url;
    ImageIcon icon;

    public iconbutton(String title){
    super(title);
    try{
    icon=new ImageIcon("图片路径");
    }
    catch(Exception e){}

    button=new JButton(icon);
    button.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e) {
      num++;
                    label.setText("Click Num: "+num);
                }
    });
    label=new JLabel("<html><font color=blue>Click Num: 0</font></html>");
    JPanel panel=new JPanel();
    panel.setLayout(new BorderLayout());
    panel.add(button,BorderLayout.CENTER);
    panel.add(label,BorderLayout.SOUTH);
    setContentPane(panel);
    }

    public static void main(String args[]){
    System.getProperties().setProperty("proxyHost","172.16.250.250");
    System.getProperties().setProperty("proxyPort","3128");

    JFrame myWindow=new iconbutton("Demo of iconbutton!");
    myWindow.pack();
    myWindow.setVisible(true);
    }
    }
    这就可以啊