public class SampleHandler extends AbstractHandler {
public Object execute(ExecutionEvent event) throws ExecutionException {
//方法一:新建一個application window的display類,在該類實現對話框功能,直接調用open()
MyDisplay display = new MyDisplay();
display.start();
//方法二:創建一個shell,把實現了功能的對話框dialog加入shell
Shell shell = new Shell();
Dialog2 dialog = new Dialog2(shell, SWT.NONE);
dialog.open();
return null;
}
}
//給按鈕添加一個鼠標監聽事件,有兩種方式實現:
方法一:// button.addListener(SWT.MouseUp, new MouseListener(text));
//button.addListener(eventType, listener);
//定義一個監聽類,然後把自定義的監聽類對象傳給button的addListener(),enventType定義了button發生listener事件的條件。
class MouseListener implements Listener{
private Text text;
public MouseListener(Text text)
{
this.text = text;
}
public void handleEvent(Event arg0) {
if(text.getText()==null)
{
MessageBox.post("please input folder-name", "提示:", MessageBox.ERROR);
}
else
{
TCSession session = (TCSession) AIFUtility.getDefaultSession();
TCComponentFolderType foldertype;
try {
InterfaceAIFComponent target = AIFUtility.getTargetComponent();
foldertype = (TCComponentFolderType) session.getTypeComponent("Folder");
TCComponentFolder folder = foldertype.create(text.getText(), "create a folder", "Folder");
if(target instanceof TCComponentFolder){
((TCComponentFolder) target).add("contents", folder);
}
}
catch (TCException e1)
{
e1.printStackTrace();
}
}
}}
//方法二:添加addMouseListener()監聽事件,並定義mouseUp(event)執行的操作
button.addMouseListener(new MouseAdapter() {
@Override
public void mouseUp(MouseEvent e) {
if(text.getText()==null)
{
MessageBox.post(“please input folder-name”, “提示:”, MessageBox.ERROR);
}
else
{
TCSession session = (TCSession) AIFUtility.getDefaultSession();
TCComponentFolderType foldertype;
try
{
MessageBox.post(“please ….”, “提示:”, MessageBox.ERROR);
foldertype = (TCComponentFolderType) session.getTypeComponent(“Folder”);
TCComponentFolder folder = foldertype.create(text.getText(), “create a folder”, “Folder”);
}
catch (TCException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
FormData fd_button = new FormData();
fd_button.top = new FormAttachment(0, 5);
fd_button.left = new FormAttachment(0, 157);
button.setLayoutData(fd_button);
button.setText(“\u786E\u5B9A”);
}