请问,如果我想把一个图片文件放到一个按钮上显示,
ImageIcon ii = new ImageIcon("图片路径/001.jpg");
JButton btn = new JButton("001.jpg");
可是这个001.jpg图片只在这个按钮中显示了一部分,我知道是图像太大而按钮小了,可是能不能缩放图片,让它能够在按钮中完全显示呢?
刚学的JAVA,不知道有没有这样的方法,谢谢了!

解决方案 »

  1.   

    ImageIcon ii = new ImageIcon("图片路径/001.jpg"); 
    JButton btn = new JButton(); Image srcImg=ii.getImage();Image image=srcImg.getScaledInstance(btn.getWidth(),btn.getHeight(),Image.SCALE_DEFAULT);btn.setIcon(new ImageIcon(image));
      

  2.   

    ImageIcon ii = new ImageIcon("图片路径/001.jpg"); 
    JButton btn = new JButton(); Image srcImg=ii.getImage();Image image=srcImg.getScaledInstance(btn.getWidth(),btn.getHeight(),Image.SCALE_DEFAULT);btn.setIcon(new ImageIcon(image));
      

  3.   


    JButton btn = new JButton(){
       public void paint(Graphics g){
         super.paint(g)
         //set the width and height below
         g.drawImage(x,y,width,height);
       }
    }; 
      

  4.   

    ls的,轻量控件应该重载paintComponent方法
      

  5.   

    1楼和2楼的方法抛出一个异常,无法实现我的要求,三楼的我不太清楚,如果是设置了布局管理器为NULL,定义按钮会有x,y,width,height属性,然后把图片也设置相同,不知道是不是这个意思?可是大多数情况下,而已管理器不是为空,按钮的位置和大小不是固定的,该如何去把一张图片满画布的显示在一个按钮上呢?
    对不起,刚刚学的JAVA,很菜,请大家指点一下!