0

私は現在、視覚障害者向けのプログラムを開発しています。私のプログラムには、SWTMessageDialogまたはを使用して実装されたいくつかのダイアログがありますMessageBox

これは、スクリーン リーダー ソフトウェアを使用している目の見える人や目の不自由な人に適しています。しかし、更新可能な点字ディスプレイ (テキストのみで 40 文字の 1 行のみ) を使用する視覚障害者は、ダイアログのフォーカスがボタンにあるため、ダイアログ内のテキスト メッセージを読むのに問題があります。ボタン。目の不自由な人は、テキスト メッセージを見つけるために上にスクロールする必要があります。

スクロールが非常に難しいため、不満を言う必要がある場合があります。フォーカスがテキスト メッセージにあり、テキストを読んでいる間に下にスクロールでき、最後にボタン テキストがあるとよいでしょう。

MessageDialogSWTまたはMessageBoxクラスを使用してフォーカスをテキスト メッセージに合わせるにはどうすればよいですか?

ライブラリMessageDialogのいくつかのオプションを既に使用しているため、独自のクラスを作成したくありません。SWT

4

1 に答える 1

1

それらの名前の「メッセージ」の部分を除いて、MessageBox根本MessageDialog的に異なります。

MessageBoxは SWT の一部であり、ネイティブ プラットフォームのコンポーネントを使用してダイアログを表示するため、その動作をアプリケーション コードで変更することはできません。

MessageDialogJFace によって提供され、カスタマイズできます。デフォルトのフォーカス動作を本当に変更する必要がある場合は、MessageDialogのみを使用する必要があります。

メッセージを表示するラベルにフォーカスを与えるには、次のcreate()ようにオーバーライドできます。

class MyMessageDialog extends MessageDialog {
  @Override
  public void create() {
    super.create();
    if( usingBraille ) {
      messageLabel.forceFocus();
    }
  }
}
于 2016-08-26T11:19:35.897 に答える