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 ...
随机推荐
- iOS基础 - UIDatePicker and UIPickerView and UITextField
1.UIDatePicker继承自UIControl,因此不会通过代理来监听事件的改变,而是通过addTarget来监听事件.监听的事件是值改变事件. 2.UIPickerView继承自UIView, ...
- 浅谈DevExpress<三>:在GridView中加载动态图片
今天的演示效果如下:在GridView中的下拉框中选中一种颜色,则后面的加载相应的图片,如下图: 1.
- 运动检测(前景检测)之(一)ViBe
运动检测(前景检测)之(一)ViBe zouxy09@qq.com http://blog.csdn.net/zouxy09 因为监控发展的需求,目前前景检测的研究还是很多的,也出现了很多新的方法和思 ...
- Web.Config Transformation配置灵活的配置文件
使用Web.Config Transformation配置灵活的配置文件 发布Asp.net程序的时候,开发环境和发布环境的Web.Config往往不同,比如connectionstring等.如果常 ...
- SQLite数据库操作 (原始操作)
android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API, 使用该类可以完成对数据进行添加(Create).查询(Retrieve).更新(Update)和删除( ...
- 企业架构研究总结(27)——TOGAF架构开发方法(ADM)之架构变更管理阶段
1.10 架构变更管理(Architecture Change Management) 企业架构开发方法各阶段——架构变更管理 1.10.1 目标 本阶段的目标是: 确保基线架构持续符合当前实际. 评 ...
- DataSet,DataTable,XML格式互转
//// <summary> /// 将DataTable对象转换成XML字符串 /// </summary> /// <param name="dt" ...
- angularjs图片上传后不刷新的解决办法
刚接触angularjs在使用的过程中遇到这个问题 首先我们的图片地址是根据ID来获取的,所以用了指令来完成图片的绑定 .directive("cImg", ['appUrl', ...
- 前端开发的使用服务器环境开源项目 D2Server 可替代Apache
推荐一个前端开发的使用服务器环境开源项目 D2Server 可替代Apache 攻欲善其事,必先利其器.前端开发,编辑器我们有了Sublime Text2,配置Server环境用……你可能会选择A ...
- Emacs折腾经验谈
Emacs折腾经验谈 这几天都没有动力写mongodb的东西,我果然还是太懒了么~ 主要是没有一个系统的东西整理出来,加上我令人拙计的语言表达能力,这个坑只能慢慢再补了. 最近在折腾emacs这个东西 ...