【问题标题】:Mnemonic on Label for Text input field文本输入字段标签上的助记符
【发布时间】:2016-05-11 13:37:10
【问题描述】:

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

【问题讨论】:

    标签: java swt mnemonics


    【解决方案1】:

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

    Label label = new Label( parent, SWT.NONE );
    label.setText( "&Name" );
    Text text = new Text( parent, SWT.BORDER );
    

    当按下 Alt+N 时,标签顺序中的下一个控件将被聚焦,在本例中为文本输入字段。

    如果另一个控件应该获得焦点,您需要向标签添加一个遍历侦听器并手动将焦点赋予所需的控件。 例如

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

    【讨论】:

    • 谁能确认这是否也适用于 OSX 和 Linux?
    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    • 2019-02-08
    相关资源
    最近更新 更多