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的更多相关文章

  1. swing中JTable的使用方法

    public static void main(String[] args) { Student s1 = new Student("张三", "001", 0 ...

  2. Jtable 表格按多列排序(支持中文汉字排序)

    这两天公司让做一个Jtable表格的排序,首先按A列排序,在A列相等时按B列排序,B列相等时按C列排序,ABC三列可以任意指定,最多分三列,这样的一个需求.由于我是大神,所以必须做了出来.ok,不自恋 ...

  3. Java — JTree and JTable以及sqlServer的两种连接

    使用JTree的步骤: 暂时只能创建一个头结点,创建一个树的结点作为头结点(其子结点也是相同的创建方法):DefaultMutableTreeNode headNode = new DefaultMu ...

  4. ABP JTable如何手动刷新子表数据

    function getSubMaster() { _$masterTable.find('.jtable-child-table-container').jtable('reload'); }

  5. jtable插件api

    官网2016-03-15 事例图: 一.客户端配置 1. paging boolean default:false 配置是否分页,果断改为true. 2. pageList string defaul ...

  6. ASP.NET ZERO 学习 JTable的使用子表闭合功能

    双击子表自动判定开闭功能 //CHILD TABLE DEFINITION FOR "PHONE NUMBERS" Phones: { title: '', width: '5%' ...

  7. ASP.NET ZERO 学习 JTable的ChildTable用法

    效果图: Jtable的子表用法: _$masterTable.jtable({ title: app.localize('PharmacyInventory'), openChildAsAccord ...

  8. jtable更新数据

    static JTable table; public void refrushTableData() { String[] columnNames = { " }; String[][] ...

  9. 实现Java JTable的应用案例

    代码如下 import Java.awt.Component; import java.awt.Dimension; import java.awt.FontMetrics; import javax ...

  10. JavaSE GUI显示列表 JTable的刷新 重新加载新的数据

    JTable在显示所有数据之后,假如需要搜索某个名字,则会获取新的列表数据. 假设datas是JTable的数据,定义为: private Vector<Vector> datas = n ...

随机推荐

  1. APNs功能之Node.js和Mysql应用总结

    APNs功能之Node.js和Mysql应用总结 这篇文档主要是总结Node.js和Mysql的学习心得体会.当然也可以看作是此前所写的消息推送服务的续篇. 简单描述下应用背景,我们的应用需要实现苹果 ...

  2. AHOI1997彩旗飘飘 VIJOS1097合并果子(noip2007)

    AHOI彩旗飘飘 这是一题类似于排列组合的题目吧...递推状态 数组f[100][100][100][2];表示红旗数目,黄旗数目,颜色改变的次数,末尾的旗的颜色(0为黄,1为红) 之后就是如何写递推 ...

  3. Hibernate:如何映射聚合?

    Hibernate:如何映射聚合? 目录 背景映射聚合聚合模型映射配置测试备注 背景返回目录 DDD 是在 Hibernate 之后发现的概念,Hibernate 如何映射 DDD 中的聚合呢?本文给 ...

  4. .NET 微信开放平台接口(接收短信、发送短信)

    .NET 微信开放平台接口(接收短信.发送短信) 前两天做个项目用到了微信api功能.项目完成后经过整理封装如下微信操作类. 以下功能的实现需要开发者已有微信的公众平台账号,并且开发模式已开启.接口配 ...

  5. cocos2d(背景图片循环滚动)

    背景图片循环滚动 使用action 实现的: 主要有两个背景图片交替循环滚动:我选的两个背景图片的宽度都是1024的 ,所以定义了#define BGIMG_WIDTH 1024 代码如下: 在Hel ...

  6. Scope and Namespace

    Python基础-作用域和命名空间(Scope and Namespace) 在Python中,对象是独立的,不同作用域中的不同名字都可以被绑定在同一个对象上,当然对这个对象的修改会影响所有的引用.赋 ...

  7. 基于c#+xaml的前台采用IE的js引擎写后台

    基于c#+xaml的前台采用IE的js引擎写后台的猜想 参考上一篇文章 基于js的开发wp8界面的猜想知道可以使用 js的window.external.notify调用c# c#可以用InvokeS ...

  8. 如何安装ArchLinux

    如何安装ArchLinux   本文基于ArchLinux(https://www.archlinux.org/)Current Release: 2013.08.01的ISO写的安装教程! ISO下 ...

  9. 写20万数据到Excel只需9秒

    on my god,写20万数据到Excel只需9秒   还是菜鸟时,在某个.Net项目中,用户需要从业务系统导出Report,而数据量通常都在上万条以上,最初采用的方式就是在服务器端用NPOI生成E ...

  10. .net中获取图像缩略图的函数GetThumbnailImage

    关于.net中获取图像缩略图的函数GetThumbnailImage的一些认识. 在很多图像软件中,打开一幅图像的时候都会显示其缩略图,在看图软件中这样的需求更为常见.如何快速的获取缩略图的信息并提供 ...