我想将图像设置为工具项目。但是,我的程序不起作用,只显示一个空窗口。
到目前为止我的代码:
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( );
}
}
答案 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();
}
看起来像这样: