弹出菜单要定义为SWT.POP_UP
带有下拉按钮的工具栏按钮要设置为SWT.DROP_DOWN
判断是否是单击下拉按钮事件的方法代码:
if(event.detail == SWT.ARROW)
显示菜单时,要先计算出菜单所要出现的位置,然后通过setLocation(x,y)方法定位菜单,最后使用setVisible(true)方法将菜单显示出来。
package com.layotech.www.toolbar;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import com.layotech.www.facory.ImageFactory;