文本输入字段标签上的助记符

时间:2016-05-11 13:37:10

标签: java swt mnemonics

在SWT中有LabelText控件,如何在激活输入字段的标签上定义助记符?我找到了几个关于如何在Button上设置助记符的示例,但是如何在Label上定义助记符并使其指向不同的输入控件?

1 个答案:

答案 0 :(得分:3)

在最简单的情况下,您可以像使用按钮一样定义助记符。

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();
    }
  }
} );