您的位置:首页 > 移动开发 > Objective-C

SWT 如何实现Tableviewer表的内容可以被复制

2012-03-17 11:15 435 查看
做了一个有关SWT界面程序,在实现Tableviewer表内容如何可以被复制到剪切板时遇到了困难,所以在论坛求助

帖子地址:http://topic.csdn.net/u/20120315/16/5e611c9c-fe1b-4604-8e1c-d594fb989a4b.html

我再稍微总结一下:

//首先通过Tableviewer对象得到table

final Table table = tableViewer.getTable();

//实现事件监听

table.addKeyListener(new KeyListener() {

@Override

public void keyReleased(KeyEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void keyPressed(KeyEvent e) {

//按下ctrl+c时:do something

if (e.keyCode == 99 && (e.stateMask&SWT.CTRL) != 0) {

for (TableItem tableItem:table.getItems()) {

//得到选中行内容
TableItem item = table.getItem(table.getSelectionIndex());

Object bean =
item.getData();

//把Object内容转化为String输出,赋值给data,一切OK

/*

TableItem类中还有两个方法:

getItems()是得到Table表所有内容

getSelection()是得到你选择的多行

具体可以看Api文档

*/

Object[] data = {Object内容转化为String输出};

clipboard = new Clipboard(Display.getCurrent());

Transfer[] transfers = new Transfer[]{TextTransfer.getInstance()};

clipboard.setContents(data, transfers);

}

}

}

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐