草庐IT

java - 如何将控件设置为透明背景

如何设置控件的背景为透明?我现在说的是Label和Text控件,但可以是我在GUI中看到的任何标准控件。 最佳答案 shell.setBackgroundMode(SWT.INHERIT_FORCE);会做你想做的。TheCompositeconstanttoindicatethatanattribute(suchasbackground)isinheritedbyallchildren.publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell

java - 确定 SWT 中的焦点

我知道我可以通过在其上使用isFocusControl()来查看特定小部件是否在SWT中具有控制权。但是,当我期望的小部件没有焦点时,我如何确定是什么(换句话说,是什么夺走了焦点)?我能够使用遍历监听器处理键盘事件,但使用鼠标单击更改焦点似乎让我的应用程序感到困惑。我似乎无法弄清楚如何找到从上一个项目中获得焦点的项目。如果鼠标事件改变了焦点,我也遇到了从FocusLost监听器中可靠地将焦点设置到另一个小部件的问题。有什么建议吗? 最佳答案 它是:Display.getFocusControl();

java - 在 swt 中提交的多行文本上使用 Tab 键?

如何防止多行文本字段“窃取”Tab键按下?我的意思是:我想使用TAB在窗口的元素之间循环,但是当我输入多行文本时,TAB变成了一个“普通”键,只是将制表符插入到我正在输入的文本中。我该如何处理?我应该编写一些自定义监听器,还是可以使用SWT常量更改组件的行为? 最佳答案 SWT定义了一种使用TraverseListener类实现这种行为的机制。以下代码段(摘自here)显示了如何:Texttext1=newText(shell,SWT.MULTI|SWT.WRAP);text1.setBounds(10,10,150,50);tex

java - 将删除按钮添加到表中的列

是否可以向表格中的单元格添加删除按钮?我有一个包含5列的表格,我想添加第6列。我希望第6列的每一行都有一个删除按钮。示例行:|10002|part|Metal|001|Yes|Remove|这样,用户只需单击按钮即可删除任何不需要的行。我在表中有一个标记列,它是ComboBox。我创建了一个扩展EditingSupport的类。我是否需要创建另一个扩展EditingSupport的类,但创建一个按钮而不是ComboBox?编辑publicclassAplotDataTableViewerextendsTableViewer{publicAplotDataTableViewer(Comp

java - 在 SWT 中闪烁 TableViewer 或 TreeViewer 的背景行

我需要能够为TableViewer/TreeViewer中的行设置闪烁(红色,可能更多颜色)背景。什么是最佳选择?可能不止一行闪烁,闪烁必须是同步的,我需要两种闪烁模式,快速和慢速。 最佳答案 我会做类似的事情。定期更新需要更改颜色的元素。在每次更新时,根据您希望它们如何闪烁来切换颜色。voidscheduleColorChange(finalColorcolors[],finalintstartIndex,finalintchangeInterval){getDisplay().timerExec(changeInterval,n

java - 让 JFace 窗口在任务栏中闪烁或引起用户注意?

我想知道有人知道如何解决这个问题:在我的JavaEclipse插件中,有些过程需要一些时间。因此,用户可能最小化窗口并让进程在后台运行。现在,当进程完成时,我可以强制窗口再次回到顶部,但这在可用性方面是一个禁忌。我宁愿希望进程在任务栏中闪烁。有什么办法可以实现吗?我看了一下org.eclipse.jface.window但找不到类似的东西,SWT文档也是如此......我想到的另一件事-当人们在macosx和linux上使用这个应用程序时,是否有一个独立于平台的解决方案,这将通知用户该过程已完成但不会将窗口置于顶部?非常欢迎任何想法!编辑:我发现在Windows上,用户可以调整他是否愿

java - 将谷歌Chrome浏览器集成到eclipse中

我正在尝试使用SWT浏览器创建一个应用程序。是否可以将GoogleChrome作为浏览器集成到Eclipse中(而不是作为外部网络浏览器)? 最佳答案 不可以,从当前稳定版的googlechrome开始,您不能在SWT中使用它。原因是谷歌浏览器(本质上是Chrome)不支持ActiveX(如IE、Firefox、Safari等),而是基于NPAPI.(注意:我认为您在Windows机器上工作,因为您在问题中没有提到!!)但是有些项目正试图制作可嵌入的chromium版本。请参阅这些链接:ChromiumembeddedIsGoogl

Java SWT 显示 StyledText 的行号

我想知道是否有一种直接的方法可以使用StyledText文本字段显示行号-即使行被换行。我在我的应用程序中使用它,如果内容变大,一些行号会很好。谢谢。 最佳答案 关键是org.eclipse.swt.custom.Bullet。它基本上是一个符号(在我们的例子中是一个数字),您可以添加到一行的开头。//textisyourStyledTexttext.addLineStyleListener(newLineStyleListener(){publicvoidlineGetStyle(LineStyleEvente){//Setthe

Java SWT 应用程序 - 置于前台

我目前正在Windows7上开发一个SWTjava应用程序。通常应用程序会被最小化,当串行端口上有事件时,应用程序应该自己最大化。以下代码执行最大化部分。privatevoidbringToFront(finalShellshell){shell.getDisplay().asyncExec(newRunnable(){publicvoidrun(){if(!shell.getMaximized()){shell.setMaximized(true);}shell.forceActive();}});}但有时SWT应用程序会在另一个应用程序后面最大化。例如,如果我有一个以全屏模式运行的

java - SWT Java : how to change colour of text in Label control?

我知道如何更改大小、样式,但如何在Label控件中设置文本颜色?到目前为止,这是我的代码:LabelmyLabel=newLabel(shell,SWT.NONE);myLabel.setText("sometextthatneedstobeforexamplegreen");FontData[]fD=myLabel.getFont().getFontData();fD[0].setHeight(16);fD[0].setStyle(SWT.BOLD);myLabel.setFont(newFont(display,fD[0]));我看到FontData类中没有颜色属性。