- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到,如果其他列中的其他单元格包含图标,JFace TableViewer 在第一列中显示文本时会出现一些问题(仅)。文本出现之前的额外空格。我认为这个问题还没有被发现,所以可能需要一些额外的配置。这是一个示例:
以及要测试的简单代码:
public class IconTest {
private static class MyContentProvider implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
return new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight",
"nine", "ten" };
}
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
}
/**
* @param args
*/
public static void main(String[] args) {
final Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
TableViewer v = new TableViewer(shell, SWT.FULL_SELECTION);
v.getTable().setLinesVisible(true);
v.getTable().setHeaderVisible(true);
v.setContentProvider(new MyContentProvider());
CellLabelProvider labelProvider = new CellLabelProvider() {
public void update(ViewerCell cell) {
cell.setText(cell.getElement().toString());
}
};
CellLabelProvider labelProvider2 = new CellLabelProvider() {
public void update(ViewerCell cell) {
cell.setText(cell.getElement().toString());
cell.setImage(Display.getDefault().getSystemImage(SWT.ICON_QUESTION));
}
};
TableViewerColumn column = new TableViewerColumn(v, SWT.NONE);
column.setLabelProvider(labelProvider);
column.getColumn().setText("Column 1");
column.getColumn().setWidth(100);
TableViewerColumn column2 = new TableViewerColumn(v, SWT.NONE);
column2.setLabelProvider(labelProvider2);
column2.getColumn().setText("Column 2");
column2.getColumn().setWidth(100);
v.setInput("");
shell.setSize(400, 400);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
有什么想法吗?
最佳答案
这是一个长期存在的已知问题 - 请参阅 Eclipse 错误报告 43910 (从 2004 年开始!)
错误报告指出底层 Windows 表代码的行为与此类似,SWT/JFace 对此无能为力。
您可以使用 OwnerDrawLabelProvider
来解决此问题,它提供了对单元格绘制方式的完全控制。 StyledCellLabelProvider
是从 OwnerDrawLabelProvider
派生的,更易于使用。
关于java - 如果某些单元格包含图标,JFace TableViewer 第一列中的文本位置无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30244076/
我有一个扩展 FormDialog 的自定义 JFace 对话框(称为 PropertyDialog)。我想在 PropertryDialog 打开后立即通过它打开一个模态消息对话框,以向用户显示一条
我在 jface View 中有一个 jface tableviewer 表,用户可以单击 tableviewer 表的任何行,单击时 View 必须导航到另一个 View ,并将选定的行 ID 发送
我正在尝试使用 Wizard 类 (org.eclipse.jface.wizard.Wizard) 生成向导 基本上,我在构造函数中扩展 Wizard 的地方是我 addPage 我想要的两个页面。
我创建了一个 JFace 向导,显示一个用户应该在其中进行选择的列表。由于该页面仅包含一个列表,因此我想启用双击选择。如果用户双击单个事件,向导应跳转到下一页。 到目前为止我得到了以下代码: vie
我想向选择按钮添加一个监听器,该按钮获取在 list 表查看器中选择的多行。然后它会继续检查这些框。我的问题是如何获取在表格查看器中选择的行列表? 这是该表的代码: private void crea
我正在使用一个小型 JFace 首选项存储,我可以在其中直接添加首选项,但是当我想删除已放入的首选项之一时遇到麻烦。 我在 API 中看不到任何允许删除的内容。这样做的正确方法是什么? 最佳答案 假设
我有一个没有columnviewer支持的jface树。它有一个装饰标签提供商,因为我需要装饰树项目。我无法使用 celllableprovider 来执行此操作。我看过诸如http://dev.ec
当用户展开 TreeViewer 中的特定节点时,它应该展开两层而不是一层。所以我添加了以下代码: viewer.addTreeListener(new ITreeViewerListener() {
如图所示,对话框打开时按钮栏有时无法正确显示。我认为由于我必须为 DefaultTableModel 嵌入 awt 框架,因此产生了一些布局问题。 有什么办法可以解决这个问题吗?或者我应该使用 jfa
我创建了一个 JFace 向导,显示一个列表,用户应该在其中进行选择。由于页面只包含一个列表,我想启用双击选择。如果用户双击单个事件,向导应该跳转到下一页。 到目前为止,我得到了以下代码: view
我想向选择按钮添加一个监听器,该按钮获取在 list 表查看器中选择的多行。然后它会继续检查这些框。我的问题是如何获取在表格查看器中选择的行列表? 这是该表的代码: private void crea
我在我的应用程序中使用 JFace 对话框。而且我不会子类化 getInitialSize(xxx)。 JFace 可以正确确定对话框的高度,但宽度。我的问题是 JFace 对话框是否可以自动计算我的
我对 Jface 还很陌生,现在我面临着表中最后一列的问题。看一下下一个屏幕截图: 正如您所看到的,启动应用程序时最后一列变得过大,无论如何我都无法解决这个问题!下面您可以看到查看代码: packag
我目前正在使用 JFace 为数据库插件功能开发 GUI(由于线程问题,无法使用任何其他方法),并且我的任务是使 GUI 看起来尽可能与数据库字段相似。我需要在文本字段内放置一个星号,如下所示: 我尝
我遇到了一个小问题,需要帮助。问题是我希望调用一个调用 html 页面的浏览器窗口。 html 文件在 3 个不同的浏览器中打开,因此其代码应该是正确的。实际问题是,它弹出页面无法显示的错误消息 这是
如何强制列表查看器更新大小?当我向列表中添加一个比现有大小更长的元素时,列表查看器应该展开: 我以这种方式更新列表查看器: lvConstraints.refresh(); 最佳答案 您确定在添加内容
我创建了一个 CheckboxTableViewer 来显示内容列表,如下图所示。问题是表格的滚动条无法正常工作。也许我缺少表格的一些布局参数? 这是代码: public class TableVie
我习惯于使用 Swing,通常使用 JOptionPane.showOptionDialog(...) 向用户显示一组要选择的选项。 现在我正在切换到 Jface 作为 Eclipse 插件...是否
JFace 标签提供程序框架有什么好的概述吗? JFace snippets并没有真正解释不同代之间的关系(3.2、3.3、3.4 之前等) 最佳答案 有许多很好的教程可用。您应该知道您需要了解完整的
JFace 中的另一个错误?我使用标准机制实现了自定义工具提示:CellLabelProvider 实现了方法 getToolTipText()。 一切似乎都很好,但事实并非如此。 我有一个 View
我是一名优秀的程序员,十分优秀!