public void editorTable(Table table,Event e){
final TableEditor editor = new TableEditor(table);
editor.horizontalAlignment = SWT.LEFT;
editor.verticalAlignment=SWT.LEFT;
editor.grabHorizontal = true;
Rectangle clientArea = table.getClientArea();
Point pt = new Point(e.x, e.y);
int index = table.getTopIndex();
while (index < table.getItemCount())
{
boolean visible = false;
final TableItem item = table.getItem(index);
for (int i = 0; i < table.getColumnCount(); i++)
{
Rectangle rect = item.getBounds(i);
if (rect.contains(pt))
{
final int column = i;
final Text text = new Text(table, SWT.NONE);
Listener textListener = new Listener()
{
public void handleEvent(final Event e)
{
switch (e.type)
{
case SWT.FocusOut:
item.setText(column, text.getText());
text.dispose();
break;
case SWT.Traverse:
switch (e.detail) {
case SWT.TRAVERSE_RETURN:
item.setText(column, text.getText());
case SWT.TRAVERSE_ESCAPE:
text.dispose();
e.doit = false;
}
break;
}
}
};
text.addListener(SWT.FocusOut, textListener);
text.addListener(SWT.Traverse, textListener);
editor.setEditor(text, item, i);
text.setText(item.getText(i));
text.selectAll();
text.setFocus();
return;
}
if (!visible && rect.intersects(clientArea)) {
visible = true;
}
}
if (!visible)
return;
index++;
}
}
分享到:
相关推荐
### SWT Table单元格编辑功能详解 在Java图形用户界面(GUI)开发中,SWT(Standard Widget Toolkit)是一个广泛使用的工具包,它提供了丰富的控件集合,用于构建高性能的桌面应用程序。其中,`Table`控件是SWT中最...
### 可编辑的 SWT Table 实现详解 在 Eclipse SWT(Standard Widget Toolkit)中,`Table`...总之,通过以上步骤,我们可以实现在 SWT `Table` 中添加可编辑单元格的功能,这对于需要用户交互的数据展示场景非常有用。
要使Table的单元格可编辑,需要为每个单元格设置编辑器,如文本框、复选框或单选按钮: ```java TableEditor editor = new TableEditor(table); Text textEditor = new Text(table, SWT.NONE); editor....
- **TableEditor组件**:用于编辑表格中的单元格。 #### 5. SWT的组件布局 SWT提供了多种布局管理器,如: - **FillLayout**:填充式布局,使组件填满其容器。 - **RowLayout**:行列式布局,按行或列排列组件。 ...
`CheckBoxCellEditor`是SWT中的一个特殊组件,主要用于表格(TableViewer或TreeViewer)中实现单元格的复选框编辑功能。这个组件使得用户可以直接在表格中勾选或取消勾选某个条目,而无需打开单独的对话框进行编辑。...
`tableViewer`封装了SWT中的`Table`控件,并添加了模型驱动的特性,使数据与视图分离,让代码更易于维护。 在描述中提到的博文链接(由于实际链接无法访问,这里仅做理论性解释),可能详细介绍了如何使用`...
KTable是一个强大的、可定制的表格控件,专为SWT设计,提供了丰富的功能,如排序、过滤、编辑等。本文将深入探讨KTable的基本概念、源代码结构以及如何通过实例来理解和使用它。 1. **KTable概述** KTable是SWT中...
- 第三篇教程讲解了如何在Eclipse RCP应用程序中实现高级特性。 - 包括创建和管理视图、实现插件间通信等。 - 这些高级技巧对于构建复杂的应用程序非常重要。 通过以上资源和知识点的梳理,我们不仅可以深入了解...
9.9.8 可编辑的表格(TableEditor) 187 9.9.9 用键盘控制表格(TableCursor) 189 9.9.10 带有进度条的表格 191 9.9.11 表格小结 192 9.10 树(Tree) 192 9.10.1 不同样式的树 193 9.10.2 为树添加...
总结,TableViewer是SWT中处理表格数据的强大工具,通过与ContentProvider、LabelProvider以及各种监听器配合,能够实现复杂的数据展示和交互功能。熟练掌握TableViewer的使用,将极大地提升Java桌面应用的用户体验...
如果需要使表格单元格可编辑,可以实现`ITableEditorProvider`并添加到`TableViewer`。`CellEditor`类提供了多种类型的编辑器,如文本、组合框等。 6. **事件监听** 可以通过注册监听器来响应用户的操作,例如`...
描述中提到的链接指向了张江芳在iteye.com上的博客文章,尽管具体内容没有提供,但我们可以推测这篇文章可能讲解了如何在TableViewer中实现焦点单元格的设置和导航。在处理用户输入或自动流程时,能够正确设置和切换...
`TextTableEditor.zip`这个压缩包提供了一个关于如何使用Java实现界面编程的例子,特别是涉及到`SWT`(Standard Widget Toolkit)库来创建一个可编辑的表格,其中单元格内包含颜色选择器和下拉框。`SWT`是Eclipse...
在这个画面中,用户可以双击任意单元格,修改表数据(修改完一个单元格后,再双击其他任意单元格,数据就可更新到数据库)。 七、技术实现 SqlBuild 使用纯 Java 代码书写,使用 SWT 技术使画面与 Windows 风格...
2. ** 表格编辑器(Table Editors)**:允许用户直接在表格中编辑单元格内容。 3. ** 多选框和复选列表(Checkbox and Checkbox List)**:用于提供多选选项的控件。 4. ** 表格分页(Table Paging)**:在大量数据...
通常,开发者会创建一个ContentProvider和LabelProvider,然后实例化Viewer并设置其数据提供者和标签提供者,最后将其添加到 SWT 控件(如Table或Tree)中。 综上所述,JFace Viewer是Eclipse RCP开发中强大且灵活...