m4t*_*4tx 18 java user-interface swt focus swt-awt
是否可以在SWT中创建可聚焦的复合材料?我通过显示过滤器捕获所有键盘事件,但是当焦点在树或列表上时存在一些问题 - GTK +的默认操作是搜索控件的内容.
我想要做的是将SWT和AWT与可聚焦的AWT组件混合使用.我设法使AWT小部件无法对焦,我添加了显示过滤器以使AWT组件接收键盘事件(但不是直接),即使它没有聚焦.但是当一些SWT控件聚焦时有几个问题 - 这就是为什么我想让复合可聚焦.
所以我的最后一个问题是:是否有可能使SWT复合材料具有可调性?
如果 aComposite包含子窗口小部件,则默认操作是在选择它时放弃焦点。为了避免这种情况,首先要扩展Composite该类:
class FocusableComposite extends Composite
{
public FocusableComposite(Composite parent, int style)
{
super(parent, style);
}
public boolean setFocus()
{
return super.forceFocus();
}
}
Run Code Online (Sandbox Code Playgroud)
然后MouseListener在 FocusableComposite 的新实例上使用 a 来在Composite单击时直接调用 setFocus() :
Composite composite = new FocusableComposite(shell, SWT.NONE);
composite.addMouseListener(new MouseAdapter()
{
public void mouseDown(MouseEvent event)
{
((Composite)event.widget).setFocus();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1735 次 |
| 最近记录: |