SWT Combo 显示列表可见时的事件通知
Event notification if SWT Combo display list is visible
我正在检查指示组合显示列表是否打开的事件,但没有看到任何内容。
我想到了鼠标 down/up 事件挂钩,但我很快意识到用户按下并释放鼠标来显示列表。另外,可以使用键盘。
我看到了this article,它说要使用getListVisible()
方法,但是那将是某种计时器。鼠标松开事件对于执行检查来说不是很准确,而计时器对于简单任务来说似乎是大材小用。
cboServers = new Combo(this.cmptLogHtsControl, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
cboServers.addMouseListener(new MouseAdapter()
{
@Override
public void mouseDown(MouseEvent arg0)
{
}
@Override
public void mouseUp(MouseEvent arg0)
{
}
});
gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
gridData.widthHint = 300;
cboServers.setLayoutData(gridData);
this.cboServers.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent arg0)
{
}
});
我错过了什么吗?想法?
由于弹出窗口是由本机控件完成的,因此可能没有任何方法可以看到它。
查看 Combo
在 Mac OS X 上的实现 getListVisible()
是使用特定于 OS X 且未公开的事件完成的在 SWT API.
我正在检查指示组合显示列表是否打开的事件,但没有看到任何内容。
我想到了鼠标 down/up 事件挂钩,但我很快意识到用户按下并释放鼠标来显示列表。另外,可以使用键盘。
我看到了this article,它说要使用getListVisible()
方法,但是那将是某种计时器。鼠标松开事件对于执行检查来说不是很准确,而计时器对于简单任务来说似乎是大材小用。
cboServers = new Combo(this.cmptLogHtsControl, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
cboServers.addMouseListener(new MouseAdapter()
{
@Override
public void mouseDown(MouseEvent arg0)
{
}
@Override
public void mouseUp(MouseEvent arg0)
{
}
});
gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
gridData.widthHint = 300;
cboServers.setLayoutData(gridData);
this.cboServers.addSelectionListener(new SelectionAdapter()
{
@Override
public void widgetSelected(SelectionEvent arg0)
{
}
});
我错过了什么吗?想法?
由于弹出窗口是由本机控件完成的,因此可能没有任何方法可以看到它。
查看 Combo
在 Mac OS X 上的实现 getListVisible()
是使用特定于 OS X 且未公开的事件完成的在 SWT API.