这是我在StackOverflow上的第一个问题(抱歉我的英语不好)。我会尽力解释这个问题。我有一个带有前台jade应用程序的swt应用程序,其中我有一个进度条来通知应用程序的持续时间。要刷新此进度条,我使用:if(Display.getCurrent()!=null){progress.run();}else{sShell.getDisplay().syncExec(progress);}进度是:Runnableprogress=newRunnable(){publicvoidrun(){if(progressBar.isDisposed())return;intpercentage
我正在使用SWT创建一个新项目。我将在项目中有3或4个不同的表。我是SWT的新手,我发现自己在问我应该只使用Table还是应该使用TableViewer。我想学习一些关于何时仅使用Table以及何时使用TableViewer的最佳指南。使用TableViewer而不是Table有什么好处?所有的表都应该有一个TableViewer吗?如果我正在处理表中的数据,Table是最好的方法吗?只是真的想要一些清晰度,以便在创建项目时以正确的方式进行。编辑我已经创建了一个Tablemodel类,我正在为我的第一个表使用它。但是createColumns方法专用于该特定表。是否可以有一个模板Tab
背景:我需要能够创建“残疾”外观的图像。通常建议的方法是将图像转换为灰度并显示灰度图像。缺点是它仅适用于图像,因此在无法立即访问处于禁用状态的图像的情况下显示图形会很麻烦。现在我认为这可以通过java.awt.Composite即时完成(然后我就不需要知道例如如何实现Icon以使其禁用)。只是似乎没有转换为灰度的实现,所以我不得不创建自己的...就是说,我拼凑了一个实现(它呈现了我期望的效果)。但我不确定它是否真的适用于所有情况(Composite/CompositeContext的Javadocs对于如此复杂的操作来说似乎非常薄)。正如您从我的实现中看到的那样,我采用了一种迂回的方式
public变量的类在封装中被认为是弱的,这不是一个糟糕的设计实践吗?如果是这样,为什么java.awt.Dimension有2个公共(public)变量width和height? 最佳答案 我认为公开公共(public)字段并不违反封装本身。封装是实体的属性,实体内部隐藏着复杂的内部结构。这个复杂的结构不能直接访问,因此没有被破坏的风险。它只能通过公共(public)方法访问,这使得它们可以很好地工作并且不会破坏复杂的内部结构。例如,我们无法直接访问HashMap的哈希表,也无法破坏它。我们只使用get和put方法来正确处理哈希表
我想从cookieorg.eclipse.swt.browser.Browser中读取JSESSIONID。我尝试从Eclipse插件打开浏览器。我正在使用以下代码段publicstaticvoidmain(String[]args){Displaydisplay=newDisplay();Shellshell=newShell(display);shell.setText("StackOverflow");shell.setLayout(newFillLayout());finalBrowserbrowser=newBrowser(shell,SWT.NONE);finalStrin
我已经从oracle过程中读取了clob,并通过以下代码将它们转换为java.awt.Image对象。InputStreamstream=clob.getAsciiStream();ByteArrayOutputStreamoutput=newByteArrayOutputStream();inta1=stream.read();while(a1>=0){output.write((char)a1);a1=stream.read();}ImagemyImage=Toolkit.getDefaultToolkit().createImage(output.toByteArray());o
如何更改TabFolder中现有TabItem的顺序?抱歉无法发布更多内容,但我完全没有头绪。TabItems没有z-Index,包含的组合的moveAbove()和moveBelow()不起作用,我有一种尝试了所有方法的感觉。问候,丹尼尔 最佳答案 在我们的项目中,我们必须这样做。我们处理了旧标签并在正确位置创建了一个新标签。 关于java-SWT-如何更改TabFolder中现有TabItems的顺序,我们在StackOverflow上找到一个类似的问题:
我知道这听起来像是一个非常基本的问题,我不好意思问这个问题,但是...如何将鼠标点击处理程序添加到SWT按钮?我检查的内容:我可以找到大量关于如何添加鼠标按下、鼠标弹起或双击处理程序的示例(通过分配MouseListener)。显然,鼠标单击(在同一控件上按下和向上的顺序)与鼠标按下不同。我知道通用控件上可能没有点击处理程序,但我看到的唯一事件是添加到Buttoncontrol上的是SelectionListener--可能是这样,但对我来说,选择听起来更像是“获得焦点”,而不是“被点击或选择,然后通过按键调用”。我找到了relatedquestion,他的回答基本上是说您需要自己实现
有人知道可以作为支持语法高亮显示的文本编辑器的SWT小部件吗?我知道StyledText小部件,但我希望有人已经编写了一些库,这样人们就可以指定应该突出显示的关键字。 最佳答案 确实语法高亮的一般原理areusingtheStyledTextWidget.JavaSourcecodeViewer是一个更高级的例子。JavaViewer甚至更详细(sourcecode)。 关于java-SWT语法高亮小部件,我们在StackOverflow上找到一个类似的问题:
awt是否可以实现双缓冲(在java中)?目前,我知道swing不应该与awt一起使用,所以我不能使用BufferStrategy和诸如此类的东西(我已经有一些用awt编写的代码,我不想在swing中重写)。如果awt可以实现双缓冲,我是否必须手动编写缓冲区?与swing不同,awt似乎没有相同的内置双缓冲功能。如果我必须手写代码,是否有好的教程可供引用?还是对于新手程序员来说,改用swing更容易/更明智?很抱歉这个多步骤问题。感谢您的宝贵时间:) 最佳答案 这很容易在网络上得到解答。只需搜索“doublebufferawt”,您