jjzjj

java - Find out if the calling thread is the SWT UI thread - 确定调用线程

我有这个模块用于应用程序COMM的多个部分(在SWTUi端、后端等)。这个模块有一个sendMessage方法,我想在其中添加一个例程来确定调用线程(只是为了在UI中使用它)是SWTUI线程。并警告程序员,他正在尝试从UI线程执行耗时的操作……这很糟糕:)当然,我想通过不在UI模块(来自COMM)上添加任何依赖项来做到这一点。如何确定调用线程是否是SWTUI线程?谢谢,米尔恰 最佳答案 您可以调用Display.getThread()来获取应用程序的当前UI线程。如果您不想依赖SWTUI,那么您将不得不使用反射。例如:publics

java - 如何将 TreeViewer 单元格的一部分设为粗体?

我目前想编写一个基于JFaceTreeViewer的Eclipse编辑器。我向TreeViewer添加了一个CellLabelProvider。如果我直接在CellLabelProvider的update方法中将单元格的字体设置为粗体,则标签显示为粗体。但我只希望部分标签显示为粗体。所以我将StyleRange应用于单元格。“StyleRange”中的选定颜色工作得很好,但将StyleRange的字体设置为粗体似乎不起作用。为什么会这样,我该如何解决? 最佳答案 由greg-449指定,基本上你可以创建你的Font并将其设置为bol

java - 如何让文本字段水平填充 100%

如果我有一个带有SWT的文本字段,我怎样才能让该字段填充到100%或某个指定的宽度。例如,此文本字段在水平方向上的范围有限。publicclassTmp{publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell=newShell(display);GridLayoutgridLayout=newGridLayout();shell.setLayout(gridLayout);Buttonbutton0=newButton(shell,SWT.PUSH);button0.setText("butto

java - AWT、SWT、Swing、SAF/JSR-296、JFace、NetBeans 平台和 Eclipse RCP 之间的关系是什么

我正在寻找能让这个字母表汤更清晰的东西。如果它能够阐明差异的政治并试图阐明相似之处(如果有的话),那就太好了。 最佳答案 相似点:rendering->graphiclibrary->plaformAWT->SWING->NETBEANSPLATFORM->jsr296SWT->JFACE->eclipsercp渲染工具包提供基本功能Canvas绘图、标签、文本、组合框...图形库介绍MVC模式、更高级别的组件(可排序表、日期选择器...)平台帮助拥有由模块组成的模块化应用程序,扩展其他模块的功能。它还添加企业功能,如后台任务、部署

java - 如何将图像对齐到表格单元格的中心(SWT 表格)

我开发EclipseRCP应用程序时遇到了Table问题。我们在数据库中有一些boolean格式的数据,用户希望使用checkbox查看该字段。我尝试使用Button(SWT.CHECK)作为Table-Editor来实现它,但它运行得太慢了:(我尝试使用2个图像-选中和未选中的复选框,它有效,但我无法将它们居中对齐,它们会自动向左对齐。我什至找到了如何捕获SWT.MeasureItem和SWT.PaintItem事件并通过更改event.x字段手动处理它们,但是我遇到了一个问题-我目前无法获得正在测量或绘制的列,因为Event没有向我提供该信息。这是通过在重绘时修改事件数据来将图像居

java - 如何将 Swing 组件添加到 SWT 中?

我想在使用SWT的代码中添加一个Swing组件(JTree)。有什么办法可以做到这一点吗?我知道我们在SWT/Jface中有TreeViewer组件,但我有一个已经开发的Jtree实现并且想添加它,而不是使用TreeViewer重写。 最佳答案 您可以使用SWT/AWTBridge.Compositecomposite=newComposite(parent,SWT.EMBEDDED|SWT.NO_BACKGROUND);Frameframe=SWT_AWT.new_Frame(composite);SWT_AWT.newFrame

java - 从监听器中检查复选框选择

目前正在工作,但在JFace中遇到了一个小问题。我需要一个复选框,使下一个按钮变为Activity状态。代码如下:ButtonbtnConfirm=newButton(container,SWT.CHECK);btnConfirm.addSelectionListener(newSelectionAdapter(){@OverridepublicvoidwidgetSelected(SelectionEvente){//missingifstatementsetPageComplete(true);}});btnConfirm.setBounds(330,225,75,20);btnC

java - Note : An exception occurred while getting the Javadoc. 详见日志-eclipse

我将SWT(org.eclipse.swt.gtk.linux.x86_64_3.102.1.v20140206-1358.jar)的java文档位置添加为“http://help.eclipse.org/stable/nftopic/org.eclipse.platform.doc.isv/reference/api/”,但在那之后,当我将鼠标指针移动到编辑器上的SWT类名或方法名,它会弹出上面的消息。如何解决这个问题并获取实际的Java文档详细信息。 最佳答案 在Eclipse中执行以下操作:转到Windows->首选项。单击已

java - 捕获关于、首选项和退出菜单项

我正在使用当前版本的SWT构建我的应用程序,我想在MacOSX(Yosemite)下运行它。我现在的问题是,我无法捕获对自动添加到我的应用程序的“关于”、“首选项”和“退出”菜单项的点击。我已经搜索了很多,发现以下类(class)对我很有帮助http://www.transparentech.com/files/CocoaUIEnhancer.java.这是我初始化它的代码:importorg.eclipse.swt.*;importorg.eclipse.swt.widgets.*;publicclassTest{privateDisplaydisplay;privateShells

java - Swt 组合框名称/ key 对

我想让文本说一件事,但让值说另一件事文本键但它只需要一个字符串来添加项目。Java程序员通常如何在组合框中存储文本/id对 最佳答案 也许您可以使用组合框的setData(Stringkey,Objectvalue)方法来实现您想要的。例子:Combobox=newCombo(parent,SWT.DROP_DOWN);Strings="Item1";box.add(s);box.setData(s,"Someotherinfoorobjecthere");s="Item2";box.add(s);box.setData(s,"Th