JAVA.SWT/JFace: SWT高级控件之表格(三)

2014-11-24 02:33:33 · 作者: · 浏览: 12
splay = Display.getDefault();
TableSample thisClass = new TableSample();
thisClass.createSShell();
thisClass.sShell.open();
while (!thisClass.sShell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
// ImageFactory.dispose();
display.dispose();
}

//创建主窗口
private void createSShell() {
sShell = new Shell();
sShell.setText("表格窗口");
sShell.setLayout(new FillLayout());
createViewForm();
createMenu();
// sShell.setImage( ImageFactory.loadImage( sShell.getDisplay(), ImageFactory.SAMPLES));
sShell.setSize(new org.eclipse.swt.graphics.Point(307,218));
sShell.pack();
}
//创建上下文菜单
private void createMenu() {
//创建弹出式菜单
menu = new Menu (sShell, SWT.POP_UP);
//设置该菜单为表格菜单
table.setMenu (menu);
//创建删除菜单项
MenuItem del = new MenuItem (menu, SWT.PUSH);
del.setText ("删除");
// del.setImage( ImageFactory.loadImage( sShell.getDisplay(), ImageFactory.DELETE_EDIT));
//为删除菜单注册事件,当单击时,删除所选择的行
del.addListener (SWT.Selection, new Listener () {
public void handleEvent (Event event) {
// 此处需添加删除绑定Control的代码
table.remove (table.getSelectionIndices ());
}
});
//创建查看菜单项
MenuItem view = new MenuItem (menu, SWT.PUSH);
view.setText ("查看");
// view.setImage( ImageFactory.loadImage( sShell.getDisplay(), ImageFactory.SCOPY_EDIT));
//为查看菜单项注册事件,当单击时打印出所选的姓名
view.addListener (SWT.Selection, new Listener () {
public void handleEvent (Event event) {
TableItem[] items = table.getSelection();
for (int i=0;i System.out.print(items[i].getText());
}
});

table.setMenu(menu);
}

}

作者“TinyKing”