您的位置:首页 > 其它

TC的handler类调用swt窗口

2016-07-06 13:56 344 查看
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”);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: