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. 交叉编译和使用HTOP

    1.什么是htop htop来源于top,top是Unix/linux下功能强大的性能检测工具之一,用于实时检测并统计进程的属性和状态,基于ncurses库,可上显示文字界面.但是top已经非常陈旧, ...

  2. Apache + Tomcat +mod_jk 实现集群

    实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window7 Javasdk: 1.7 Apache: 2.2.14    (本地安装路径:D:\Apache2 ...

  3. 实现栈最小元素的min函数

    #include<iostream> #include<stack> using namespace std; class min_stack { public: void p ...

  4. 常用oracle语句-------------------------------------------》(笔记)

      Orale常用语句 1:查询指定表名的字段 select * from sys.user_tab_columns where table_name=表名 //查询指定表名的字段 2: 查询数据库参 ...

  5. JS函数实现金额小写转大写

    ///<summery>小写金额转化大写金额</summery> function AmountLtoU(amount) { if (isNaN(amount) || amou ...

  6. MvcMovieStore实例 教程

    转原创:MvcMovieStore 实例教程(新概念版:mvc5.0,EF6.01)-初露锋芒 如需转载,请注明出处:http://www.cnblogs.com/DoduNet/ 最近趁业余时间,把 ...

  7. 不用char*作为hash_map的key

    尽量不用char*作为hash_map的key Posted on 2013-09-09 21:21 Springlie 阅读(83) 评论(0) 编辑 收藏 引子: 同事前几天用hash_map时发 ...

  8. jquery选择器之基本过滤选择器

    <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray } </style> ...

  9. Android中检测软键盘的弹出和关闭

    Android系统并没有提供明显的API来监听软键盘的弹出和关闭,但是在某些情况下我们还是有办法来检测软键盘的弹出和关闭. 从StackOverflow找到了一个不错的方法.但是这种只适用于在mani ...

  10. 在收购Sun六年后,Oracle终于瞄准了Java的非付费用户

    Java语言毫无疑问已经成为软件社区的一个品牌和开放的产业标准.自从2010年Oracle收购了Sun Microsystems公司之后,很多人就担心这在某种程度上是软件开源产业的一次失败,甚至会造成 ...