[英]How can I set focus on text instead of button in SWT MessageDialog or MessageBox?
我目前正在為盲人制定程序。 在我的程序中,我有幾個使用SWT MessageDialog
或MessageBox
實現的對話框。
這對於使用屏幕閱讀軟件的有視力的人或盲人來說效果很好。 但是使用可刷新盲文顯示(僅文本,只有一行40個字符)的盲人在對話框中讀取文本消息時遇到問題,因為對話框的焦點在按鈕上,因此可刷新盲文顯示會顯示盲文按鈕。 盲人必須向上滾動才能找到短信。
有時滾動非常困難,以至於他們不得不抱怨。 如果焦點在文本消息上,那將更好,然后他們可以在閱讀文本時向下滾動,然后在結尾處是按鈕文本。
如何使用SWT MessageDialog
或MessageBox
類管理焦點在文本消息上?
我不想創建自己的MessageDialog
類,因為我已經使用了SWT
庫的幾個選項。
除了名稱中的“消息”部分外, MessageBox
和MessageDialog
根本不同。
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.