我有一个 JFace 对话框,其中包含 SWT 文本和一个按钮。最初,当打开对话框时,应该禁用该按钮,当我单击“文本”时,只要“文本”的插入符位置可见,就应该启用按钮。
这些是我正在使用的监听器:
text.addMouseListener(new MouseListener()
{
@Override
public void mouseDoubleClick(MouseEvent arg0)
{
}
@Override
public void mouseDown(MouseEvent arg0)
{
}
@Override
public void mouseUp(MouseEvent arg0)
{
testButton.setEnabled(true);
}
});
text.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent arg0)
{
testButton.setEnabled(false);
}
@Override
public void focusGained(FocusEvent arg0)
{
}
});
我使用了合适的监听器吗?请推荐
最佳答案
如果我理解正确的话,这应该是你想要的:
button.setEnabled(false);
button.addListener(SWT.Selection, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
button.setEnabled(false);
}
});
text.addListener(SWT.FocusIn, new Listener()
{
@Override
public void handleEvent(Event e)
{
button.setEnabled(true);
}
});
最初,按钮
被禁用。一旦Text
获得焦点,它将被启用。 Button
按下后将再次禁用。
关于java - SWT 文本的适当监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19348411/