将图像添加到ToolItem

时间:2012-12-11 21:39:38

标签: java image swt toolbar

我想将图像设置为工具项目。但是,我的程序不起作用,只显示一个空窗口。

到目前为止我的代码:

import org.eclipse.swt.*;

import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.*;

public class test
{
    public static void main(String [] args)
    {
        Display display = new Display( );
        final Shell shell = new Shell(display);
        shell.setSize(900, 200);

        final ToolBar t=new ToolBar(shell,SWT.NONE);
        Image image=new Image(display,"C:\\Users\\ART\\Documents\\Parsian\\bottum.jpg");

        final ToolItem ti=new ToolItem(t,SWT.NONE);
        ti.setImage(image);
        ti.setText("test");

        shell.open( );
        while (!shell.isDisposed( ))
        {
            if (!display.readAndDispatch( ))
                display.sleep( );
        }
        display.dispose( );
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码缺失的是魔术函数Control#pack()

public static void main(String[] args)
{
    Display display = new Display();
    final Shell shell = new Shell(display);

    final ToolBar bar = new ToolBar(shell, SWT.FLAT | SWT.WRAP | SWT.RIGHT);
    final ToolItem item = new ToolItem(bar, SWT.PUSH);
    Image image = new Image(display, "img/star.png");
    item.setImage(image);
    item.setText("test");

    /* Add this pack() call */
    bar.pack();
    shell.setSize(400, 250);
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

看起来像这样:

enter image description here