文本输入字段标签上的助记符
Mnemonic on Label for Text input field
在 SWT 中有一个 Label
和一个 Text
控件,我如何在将激活输入字段的标签上定义助记符?我找到了几个关于如何在 Button
上设置助记符的示例,但是如何在 Label
上定义助记符并使其指向不同的输入控件?
在最简单的情况下,您可以像使用按钮一样定义助记符。
Label label = new Label( parent, SWT.NONE );
label.setText( "&Name" );
Text text = new Text( parent, SWT.BORDER );
当按下 Alt+N 时,Tab 键顺序中标签的下一个控件将获得焦点,在这种情况下,文本输入字段。
如果另一个控件应该获得焦点,您需要向标签添加遍历侦听器并手动将焦点赋予所需的控件。
例如
Label label = new Label( parent, SWT.NONE );
label.setText( "&Name" );
label.addListener( SWT.Traverse, new Listener() {
@Override
public void handleEvent( Event event ) {
if( event.detail == SWT.TRAVERSE_MNEMONIC ) {
event.doit = false;
otherControl.setFocus();
}
}
} );
在 SWT 中有一个 Label
和一个 Text
控件,我如何在将激活输入字段的标签上定义助记符?我找到了几个关于如何在 Button
上设置助记符的示例,但是如何在 Label
上定义助记符并使其指向不同的输入控件?
在最简单的情况下,您可以像使用按钮一样定义助记符。
Label label = new Label( parent, SWT.NONE );
label.setText( "&Name" );
Text text = new Text( parent, SWT.BORDER );
当按下 Alt+N 时,Tab 键顺序中标签的下一个控件将获得焦点,在这种情况下,文本输入字段。
如果另一个控件应该获得焦点,您需要向标签添加遍历侦听器并手动将焦点赋予所需的控件。 例如
Label label = new Label( parent, SWT.NONE );
label.setText( "&Name" );
label.addListener( SWT.Traverse, new Listener() {
@Override
public void handleEvent( Event event ) {
if( event.detail == SWT.TRAVERSE_MNEMONIC ) {
event.doit = false;
otherControl.setFocus();
}
}
} );