簡體   English   中英

如何在SWT MessageDialog或MessageBox中將焦點設置為文本而不是按鈕?

[英]How can I set focus on text instead of button in SWT MessageDialog or MessageBox?

我目前正在為盲人制定程序。 在我的程序中,我有幾個使用SWT MessageDialogMessageBox實現的對話框。

這對於使用屏幕閱讀軟件的有視力的人或盲人來說效果很好。 但是使用可刷新盲文顯示(僅文本,只有一行40個字符)的盲人在對話框中讀取文本消息時遇到問題,因為對話框的焦點在按鈕上,因此可刷新盲文顯示會顯示盲文按鈕。 盲人必須向上滾動才能找到短信。

有時滾動非常困難,以至於他們不得不抱怨。 如果焦點在文本消息上,那將更好,然后他們可以在閱讀文本時向下滾動,然后在結尾處是按鈕文本。

如何使用SWT MessageDialogMessageBox類管理焦點在文本消息上?

我不想創建自己的MessageDialog類,因為我已經使用了SWT庫的幾個選項。

除了名稱中的“消息”部分外, MessageBoxMessageDialog根本不同。

MessageBox是SWT的一部分,並使用本機平台的組件來顯示對話框,因此其行為不能由應用程序代碼更改。

MessageDialog由JFace提供,可以自定義。 如果確實需要更改默認的焦點行為,則應僅使用MessageDialog

為了使顯示消息的標簽更加集中,您可以像這樣重寫create()

class MyMessageDialog extends MessageDialog {
  @Override
  public void create() {
    super.create();
    if( usingBraille ) {
      messageLabel.forceFocus();
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM