2012-11-09 106 views
4

我正在尝试以编程方式将SWT按钮设置为“按下”状态。 这是可能的吗?以编程方式将SWT按钮设置为按下状态?

更新:
我所试图实现 - 被渲染绘制按钮,在它的选中状态到一个图像。

Image buttonimg_mouseover = new Image(getDisplay(), 100, 100); 
Button button = new Button(parent.parent, SWT.PUSH); 
button.setAlignment(SWT.CENTER); 
button.setImage(arrowimg); 
button.setSize(100, 100); 
button.setSelection(true); // doesn't work 

GC gcbutton = new GC(buttonimg_mouseover); //draw an image of the button 
button.print(gcbutton); 
+0

您是否需要将其置于“按下”状态,还是要运行它所连接的动作? – sciguy1121

+0

我只想渲染处于按下状态的按钮,一次 - 我不想触发相关的方法。 – Skip

+1

按钮有哪些样式位? 'SWT.PUSH','SWT.CHECK','SWT.TOGGLE'或其他什么? – Baz

回答

8

你可以用下面的代码片段

Button myButton = new Button(parent, SWT.TOGGLE); 
myButton.setSelection(true); 

做然而,这只会同类型CHECKRADIOTOGGLE工作。

参见Javadoc Button#setSelection(boolean)

+0

你太快了。 –

+0

不幸的是,它不起作用,因为这似乎将应用程序的焦点设置到此按钮,并将焦点设置到按钮需要时间。我所做的是创建一个Button,渲染它,然后销毁Button - 没时间在Button上设置选择。 – Skip

+0

我不明白你想通过渲染和销毁按钮来达到目的。你能提供更多的背景吗? –