一.
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
public class H{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("ToolBar和ToolItem工具栏");
shell.setLayout(new GridLayout());
//创建一个工具栏
ToolBar toolBar=new ToolBar(shell,SWT.NONE);
//在工具栏中创建保存工具按钮
ToolItem saveItem=new ToolItem(toolBar,SWT.PUSH);
saveItem.setText("保存");
saveItem.setToolTipText("保存");
//在工具栏中创建打印工具按钮
ToolItem printItem=new ToolItem(toolBar,SWT.PUSH);
printItem.setText("打印");
printItem.setToolTipText("打印");
//在工具栏中创建打印工具按钮
ToolItem helpItem=new ToolItem(toolBar,SWT.PUSH);
helpItem.setText("帮助");
helpItem.setToolTipText("帮助");
toolBar.pack();
Text content=new Text(shell,SWT.MULTI);
//content.setText("你好");
content.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
//打开窗口,进行窗口的显示
shell.setSize(400,400);
//shell.pack();
//shell.setSize(new Point(200,150));
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
二.
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;//Point,Rectangle
import org.eclipse.swt.layout.*;
public class I{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("ToolBar和ToolItem工具栏");
shell.setLayout(new GridLayout());
//创建一个工具栏
final ToolBar toolBar=new ToolBar(shell,SWT.NONE);
//在工具栏中创建保存工具按钮
ToolItem saveItem=new ToolItem(toolBar,SWT.PUSH);
saveItem.setText("保存");
saveItem.setToolTipText("保存");
//在工具栏中创建打印工具按钮
ToolItem printItem=new ToolItem(toolBar,SWT.PUSH);
printItem.setText("打印");
printItem.setToolTipText("打印");
//在工具栏中创建帮助工具按钮,定义为下拉式
final ToolItem helpItem=new ToolItem(toolBar,SWT.DROP_DOWN);
helpItem.setText("帮助");
helpItem.setToolTipText("帮助");
//定义一个弹出式菜单
final Menu helpMenu=new Menu(shell,SWT.POP_UP);
//定义菜单中的菜单项
MenuItem welcomeItem=new MenuItem(helpMenu,SWT.PUSH);
welcomeItem.setText("欢迎");
new MenuItem(helpMenu,SWT.SEPARATOR);
MenuItem updateItem=new MenuItem(helpMenu,SWT.PUSH);
updateItem.setText("在线更新");
MenuItem aboutItem=new MenuItem(helpMenu,SWT.PUSH);
aboutItem.setText("关于我们");
//为下拉工具栏注册单击下拉箭头事件
helpItem.addListener(SWT.Selection,new Listener(){
public void handleEvent(Event event){
//如果触发的事件为单击按钮
if(event.detail==SWT.ARROW){
// //获得帮助按钮所在的坐标位置和大小,相对于父窗口
// Rectangle rect=helpItem.getBounds();
// //计算菜单出现的起始位置
// Point point=new Point(rect.x,rect.y+rect.height);
// //将该点转化为与屏幕的相对位置
// point=toolBar.toDisplay(point);
// helpMenu.setLocation(point.x,point.y);//设置菜单的显示位置
helpMenu.setVisible(true);//显示菜单
}
}
});
toolBar.pack();
Text content=new Text(shell,SWT.MULTI);
//content.setText("你好");
content.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
//打开窗口,进行窗口的显示
shell.setSize(400,400);
//shell.pack();
//shell.setSize(new Point(200,150));
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}