我正在尝试将CDateTime作为我的swt表格控件的单元格编辑器。当我运行独立的CDateTime示例(来自here)时,它是这样的:CDateTime是这样创建的:finalCDateTimecdt=newCDateTime(shell,CDT.DROP_DOWN|CDT.DATE_SHORT|CDT.COMPACT);cdt.setSelection(newDate());注意导致下拉的图标-它看起来像一个日历。您可以看到月份/年份,标题左角有2个箭头按钮和一个“今天”按钮。选择日期时,日期也会正确写入文本框。但是,当我尝试将它添加为单元格编辑器时,它是这样的:请注意,图标不同,
我正在研究类似于here的SWT树,但是,我希望能够在某些情况下显示+符号而不是-对于展开的树项目。这可能吗?如果没有,是否有WindowsAPI可以为树项目的展开/折叠状态提供自定义图标? 最佳答案 如果可用,SWTTree组件会使用native树小部件,例如在Windows的情况下-它使用native小部件,而在Linux上(取决于所使用的UI引擎),它可以自己创建自定义树。在使用native树小部件的操作系统上,无法自定义+和-图标。正如Ali所建议的(参见http://msdn.microsoft.com/en-us/lib
我正在编写一个EclipseRCP应用程序,其中多个线程将通过GUI中各自的进度条向用户更新进度。有人告诉我,允许每个人单独更新自己的进度条可能会导致共享资源发生冲突(我想是进度条的父级之一,例如Shell)。这是真的吗?有人建议我创建一个带有同步方法的中间类,它将充当线程更新调用的序列化漏斗。这是一个解决方案吗?你能提供更好的解决方案吗? 最佳答案 其实很简单。每当您需要从任何线程更新进度条时,您都将更新代码包含在display.asyncExec(newRunnable(){....});
有没有办法为整个Shell设置默认字体,以便任何新控件都使用相同的字体?似乎现在我必须为我创建的每个控件设置字体,这会导致过多的冗余。 最佳答案 默认使用的字体由平台选择(请参阅ClassFont-SWT:TheStandardWidgetToolkit中的其他信息),因此不可能为所有小部件设置默认字体,如果需要,您必须“手动”进行。.你为什么要更改默认字体..? 关于java-为SWTShell设置默认字体,我们在StackOverflow上找到一个类似的问题:
我想在SWT/JFace应用程序中添加一个搜索功能,当用户在搜索文本字段中输入文本时过滤TableViewer。finalTextfilterText=newText(parent,SWT.NONE);filterText.addModifyListener(newModifyListener(){@OverridepublicvoidmodifyText(ModifyEventarg0){//TODOhowtoupdatetheviewerfilterwiththenewtext?}});TableViewertableViewer=newTableViewer(...);Viewe
我正在开发EclipseRCP应用程序,并尝试使用ILazyTreeContentProvider实现以便在特定时间仅显示可见项目。代码:在扩展ViewPart的类中:publicvoidcreatePartControl(Compositeparent){viewer=newTreeViewer(parent,SWT.MULTI|SWT.H_SCROLL|SWT.V_SCROLL|SWT.VIRTUAL);drillDownAdapter=newDrillDownAdapter(viewer);viewer.setContentProvider(newViewContentProvi
我创建了一个对话框,用户可以在其中浏览图像,然后查看在Canvas上绘制的图像的预览。图像被缩放,以便在适合盒子时保持其纵横比。我使用了在thisanswer中找到的调整大小的方法,这涉及将图像从SWT转换为AWT,执行调整大小,从AWT转换回SWT,最后将其绘制在Canvas上。由于此过程在时间和处理能力方面的成本非常高,我选择如果图像大小正确则跳过调整大小的步骤,因此不需要以任何方式进行转换。处理具有alpha透明度的图像时会出现此问题。在某些情况下,首先转换的具有透明度的图像会以黑色背景绘制在Canvas上。同一图像的副本已调整为Canvas的精确大小,因此未转换,具有白色背景。
我如何发送自定义SWT键事件,以便在不进行任何转换的情况下键入准确的文字字符?我们正在制作一个允许多种可能布局的自定义屏幕图形键盘——QWERTY是主要布局,但其他几种布局也在计划中,包括视觉上模拟iPhone键盘布局的布局或其他相对于电脑。我希望能够将我选择的任意字符作为事件发送,这样它就会导致键入该确切字符。但是,每当我发送带有给定字符的事件时,SWT似乎会根据系统的键盘设置和状态自动解释和转换它,将其更改为大写/小写或使用移位符号,具体取决于是否按下了shift键(例如实际键盘上的真实键)。例如,通过键事件传递字符“T”将导致“t”或“T”,具体取决于shift键。它与“4”字符
我正在尝试编写一个SWT组件,它能够获取并绘制java.awt.BufferedImage的实例.我的问题是SWT的Image和AWT的BufferedImage不兼容:SWT组件无法绘制java.awt.Image,AWT/Swing组件无法绘制org.eclipse.swt.graphics.Image.有几种尝试以其他方式解决这个问题的方法(也可能有一些变化,但基本上有这两种):ConvertbetweenSWTImageandAWTBufferedImageSwing/SWTIntegration他们都有缺点,没有达到我的预期:第一种方法,转换SWTImage到Buffered
我已经从RGBA像素列表创建了BitMapSource:BitmapSourcebmp=BitmapSource.Create(imageStrideInPixels,height,96,96,PixelFormats.Bgra32,null,imageData,imageStrideInPixels*pixelWidth);然后我从BitMapSource创建一个图像://createimageandsetimageassourceImageBmpImg=newImage();BmpImg.SetValue(Canvas.ZIndexProperty,0);BmpImg.Width=