JTable
final Table table = new Table(parent, SWT.NONE | SWT.FULL_SELECTION);
final GridData gd = new GridData(SWT.LEFT, SWT.TOP, false, true);
gd.heightHint = 100;
table.setLayoutData(gd);
table.setHeaderVisible(true);
table.setLinesVisible(true);
final TableColumn tcCondition = new TableColumn(table, SWT.None);
final TableColumn tcUserValue = new TableColumn(table, SWT.None);
final TableColumn tcUserColor = new TableColumn(table, SWT.None);
tcCondition.setText("条件");
tcCondition.setWidth(80);
tcUserValue.setText("枚举值");
tcUserValue.setWidth(80);
tcUserColor.setText("颜色");
tcUserColor.setWidth(80);
table.addListener(SWT.MouseDoubleClick, new Listener() {
int editColumnIndex = -1;
@Override
public void handleEvent(final Event e) {
final Point point = new Point(e.x, e.y);
final TableItem tableItem = table.getItem(point);
if (tableItem == null) {
return;
}
for (int i = 0; i < 3; i++) {
final Rectangle r = tableItem.getBounds(i);
if (r.contains(point)) {
editColumnIndex = i;
final TableEditor editor = new TableEditor(table);
final Control oldEditor = editor.getEditor();
if (oldEditor != null) {
oldEditor.dispose();
}
final Text text = new Text(table, SWT.NONE);
text.computeSize(SWT.DEFAULT, table.getItemHeight());
editor.grabHorizontal = true;
editor.minimumHeight = text.getSize().y;
editor.minimumWidth = text.getSize().x;
editor.setEditor(text, tableItem, editColumnIndex);
text.setText(tableItem.getText(editColumnIndex));
text.forceFocus();
text.addModifyListener(new ModifyListener() {
@Override
public void modifyText(final ModifyEvent e) {
editor.getItem().setText(editColumnIndex, text.getText());
}
});
text.addFocusListener(new FocusListener() {
@Override
public void focusGained(final FocusEvent e) {
// TODO Auto-generated method stub
}
@Override
public void focusLost(final FocusEvent e) {
text.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
text.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
}
});
}
}
}
});
JTable的更多相关文章
- swing中JTable的使用方法
public static void main(String[] args) { Student s1 = new Student("张三", "001", 0 ...
- Jtable 表格按多列排序(支持中文汉字排序)
这两天公司让做一个Jtable表格的排序,首先按A列排序,在A列相等时按B列排序,B列相等时按C列排序,ABC三列可以任意指定,最多分三列,这样的一个需求.由于我是大神,所以必须做了出来.ok,不自恋 ...
- Java — JTree and JTable以及sqlServer的两种连接
使用JTree的步骤: 暂时只能创建一个头结点,创建一个树的结点作为头结点(其子结点也是相同的创建方法):DefaultMutableTreeNode headNode = new DefaultMu ...
- ABP JTable如何手动刷新子表数据
function getSubMaster() { _$masterTable.find('.jtable-child-table-container').jtable('reload'); }
- jtable插件api
官网2016-03-15 事例图: 一.客户端配置 1. paging boolean default:false 配置是否分页,果断改为true. 2. pageList string defaul ...
- ASP.NET ZERO 学习 JTable的使用子表闭合功能
双击子表自动判定开闭功能 //CHILD TABLE DEFINITION FOR "PHONE NUMBERS" Phones: { title: '', width: '5%' ...
- ASP.NET ZERO 学习 JTable的ChildTable用法
效果图: Jtable的子表用法: _$masterTable.jtable({ title: app.localize('PharmacyInventory'), openChildAsAccord ...
- jtable更新数据
static JTable table; public void refrushTableData() { String[] columnNames = { " }; String[][] ...
- 实现Java JTable的应用案例
代码如下 import Java.awt.Component; import java.awt.Dimension; import java.awt.FontMetrics; import javax ...
- JavaSE GUI显示列表 JTable的刷新 重新加载新的数据
JTable在显示所有数据之后,假如需要搜索某个名字,则会获取新的列表数据. 假设datas是JTable的数据,定义为: private Vector<Vector> datas = n ...
随机推荐
- AjaxPro2
AjaxPro2完整入门教程 一.目录 简单类型数据传送(介绍缓存,访问Session等) 表类型数据传送 数组类型数据传送(包含自定义类型数据) 二.环境搭建 1.这里本人用的是VS2012. ...
- WebForm和Asp.Net MVC的理解
我对WebForm和Asp.Net MVC的理解 比较WebForm和Mvc的请求处理方式 首先简单了解一下Asp.Net中怎么对页面进行请求处理的: 在管道的第7-8个事件之间,有一个MapHt ...
- C#自动选择出系统中最合适的IP地址
写这个是因为很长时间以来,碰到过很多次这个问题,但都没当回事,这次又碰到了这个老问题,无奈百度了一圈儿未果,身边又没有大牛可以请教,就自己先“总结”了一套方法,一来给自己记录,二来如果碰巧能有朋友看到 ...
- MongoDB学习2
MongoDB学习(翻译2) C#驱动之LINQ教程 介绍 本教程涵盖了1.8发布版本对linq查询的支持. 开始本教程之前,你应该至少阅读下C#驱动教程关于C#驱动的介绍 快速开始 首先,添加下面命 ...
- java的几种对象解释
一.PO:persistent object 持久对象,可以看成是与数据库中的表相映射的Java对象.最简单的PO就是对象数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何数据 ...
- Simditor使用方法
一不小心接触到Simditor,瞬间被它优美极简的界面所吸引.Simditor是Tower开源的所见即所得的在线富文本编辑器. Simditor的理念是保持简单,避免过度的功能,每一个特性都追求极致的 ...
- Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径
Asp.Net MVC 进阶篇:路由匹配 实现博客路径 和文章路径 我们要实现 通过路由 匹配出 博客地址 和博客文章地址 例如下面的这两个地址 //http://www.cnblogs.com/ma ...
- Hadoop Streaming框架学习(一)
Hadoop Streaming框架学习(一) Hadoop Streaming框架学习(一) 2013-08-19 12:32 by ATP_, 473 阅读, 3 评论, 收藏, 编辑 1.Had ...
- 安装Win8
老毛桃安装Win8(哪里不会点哪里,so easy) 先来一张美女图,是不是很漂亮呢!继续往下看! 求推荐啊! 对于一个干IT的码农来说,会写代码不算什么,会装系统不算什么,及会写代码也会装系统的那才 ...
- ArcEngine关于单位转换示例
示例界面: 转换代码: private void Button1_Click(object sender, System.Windows.RoutedEventArgs e) { // Get the ...