java-将删除图标列添加到Eclipse表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-将删除图标列添加到Eclipse表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1822字,纯文字阅读大概需要3分钟。
内容图文
![java-将删除图标列添加到Eclipse表](/upload/InfoBanner/zyjiaocheng/655/3333e7c722c249a280dbe8572063f122.jpg)
我目前在Eclipse插件中实现了Table和TableEditor,以通过键盘支持来支持单元格级别的编辑(以使用编辑器来遍历单元格).
我还需要一种删除行的方法,并且我不想在表旁边添加删除按钮,因为它需要单击两次才能删除行(选择行需要1次,删除行需要1次) ).相反,我想要一个单独的列,其中填充有删除图标.我想到了两种方法来实现此目的,并且都遇到了以下问题:
>在表中添加另一列,将图标设置为TableItem.setImage().这种方法存在多个问题,您可以在下面看到它们:
>选择行时,图标也会被选中
>将鼠标悬停在图标上时,它会显示图像的工具提示,显然无法将其禁用
>似乎无法在单元格内垂直居中放置图像
>在表格旁边添加ScrolledComposite,并在其中添加删除图标.这听起来有点疯狂,但实际上我已经做到了这一点.想法是用删除图标填充ScrolledComposite,强制其使用表的滚动条滚动,并在单击图标时删除相应的行.我只遇到这种方法的一个阻塞问题:
>似乎无法隐藏滚动条
所以我的问题是:
>如何解决上述两种方法中提到的问题?
>还有其他更好的方法吗?
解决方法:
我找到了第二种方法隐藏滚动条的方法.基本上,您需要做的是:
// ScrolledComposite sc;
sc.setAlwaysShowScrollBars(true);
sc.getVerticalBar().setVisible(false);
然后将ScrolledComposite的宽度设置为1,以消除不可见ScrollBar占用的额外空间.
并使滚动条保持同步:
// Table table;
// ScrolledComposite sc;
// int tableRowHeight;
protected void createTable() {
...
// Set the listener that dictates the table row height.
table.addListener(SWT.MeasureItem, new Listener() {
@Override
public void handleEvent(Event event) {
event.height = tableRowHeight;
}
});
// Set the listener for keeping the scrollbars in sync.
table.getVerticalBar().addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
syncDeleteColumnScrollBar();
}
});
}
// This is extracted out into a method so it can also be called
// when removing a table row.
protected void syncDeleteColumnScrollBar() {
sc.setOrigin(0, table.getVerticalBar().getSelection() * tableRowHeight);
}
结果:
内容总结
以上是互联网集市为您收集整理的java-将删除图标列添加到Eclipse表全部内容,希望文章能够帮你解决java-将删除图标列添加到Eclipse表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。