有代码如下:
CTabItem tiTabsAbout = new CTabItem(tabfolder, SWT.NULL);
tiTabsAbout.setText("关于我们");
tiTabsAbout.setToolTipText("关于我们.");Label aboutLabel = new Label(tabfolder, SWT.PUSH);
aboutLabel.setBackgroundImage(new Image(disp, 
    getClass().getResourceAsStream(Const.IMAGE_DIRECTORY+"Process.bmp")));
tiTabsAbout.setControl(aboutLabel);
显示的图片是平铺的,怎么能让图片拉伸的呢。

解决方案 »

  1.   

    /**
    *@param w 新图片的宽
    *@param h 新图片的高
    *@param image 以前的图片
    *@return 返回宽为w,高为h的新Image对象
    */
    public static java.awt.Image getImage(int w,int h,java.awt.Image image)
    {
    return image.getScaledInstance(w,h,java.awt.Image.SCALE_FAST);
    }
      

  2.   

    两个Image不是同一个包的
    你的那个是java.awt.Image
    我的那个是org.eclipse.swt.graphics.Image
      

  3.   

    那你看看org.eclipse.swt.graphics.Image下面有没有.
    getScaledInstance这个方法!
      

  4.   

    new Image(display, new ImageData("filename").scaledTo(int width,int height));
      

  5.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.image.*;
    public class ImageTest extends JFrame//图片缩放 
    {
    JLabel lb;
    Image img;
    Container c;
    public ImageTest(){
    super();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100,10,500,500);
    setVisible(true);
    c=getContentPane();
    c.setLayout(null);
    img=Toolkit.getDefaultToolkit().getImage("1.jpg");
    Image ig=img.getScaledInstance(100,100,Image.SCALE_DEFAULT);
    lb=new JLabel(new ImageIcon(ig));
    lb.setBounds(0,0,300,300);
    c.add(lb);
    //draw();
    repaint();
    } private void draw(){
    Graphics g=lb.getGraphics();
    g.drawImage(img,0,0,200,200,lb);
    } public static void main(String[] args) 
    {
    new ImageTest();
    }
    }