-1
我有一个要求,在选择按钮我需要处理一些东西,并根据结果必须设置文本在同一个按钮。以下是示例代码片段。在选择按钮内设置文本SWT中的同一个按钮的监听器
buttonOrganization = new Button(parent, SWT.PUSH);
OrgSelectionBtnListener listnerButton = new OrgSelectionBtnListener(buttonOrganization, Session, false, false);
buttonOrganization.addListener(SWT.Selection,
listnerButton);
和OrgSelectionBtnListner类低于
private class OrgSelectionBtnListener implements Listener,
PropertyChangeListener
{
public OrgSelectionBtnListener(Button orgButton, Session Session, boolean isUser, boolean isGrp)
{
}
@Override
public void propertyChange(PropertyChangeEvent evt)
{
String propName = evt.getPropertyName();
if(propName.equals("OrgChanged"))
{
buttonOrganization.setText("new Group User");
}
}
@Override
public void handleEvent(Event arg0)
{
buttonOrganization = (Button) arg0.widget;
SwingUtilities.invokeLater(new Runnable()
{
//Display.getDefault().asyncExec(new Runnable() {
//@Override
public void run()
{
orgSelectionDialog.addPropertyChangeListener(OrgSelectionBtnListener.this);
}
});
}
}
得到任何帮助。
你的代码看起来是正确的,你遇到了什么问题或错误? –
它说** org.eclipse.swt.SWTException:无效的线程访问**指向线'buttonLoadUser.setText(“Demo User”);' –
我想你需要向我们展示一个显示问题的[mcve]这通常不应该给无效的线程访问。 –