编程语言
首页 > 编程语言> > java – 如何让Vista的讲述人将我的Swing组件读回给我?

java – 如何让Vista的讲述人将我的Swing组件读回给我?

作者:互联网

我正在尝试为Swing实现一个非常非常简单的可访问性测试,这样我就可以了解为我们已经建立的Swing应用程序提供可访问性支持的工作量.

我有最简单的Swing程序,我在Windows Vista中使用Narrator来尝试屏幕阅读其GUI.

public class ReadableFrame extends JFrame {

     private ReadableFrame() {
         super();

         setTitle( "Banjollity's Window" );
         setSize( 640, 580 );
         setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );

         JButton button = new JButton( "Hello World" );

         getContentPane().setLayout( new FlowLayout() );
         getContentPane().add( button );

         setVisible( true );
     }

    /**
     * @param args
     */
    public static void main( String[] args ) {
        new ReadableFrame();
    }
}

讲述者可以阅读标题,但没有别的.我得到“Banjollity的窗口,不包含其他已知的控件”.如果我用AWT按钮替换Swing JButton,如下所示:

Button button = new Button( "Hello World" );

…然后它正常工作,我得到“Banjollity的窗口,专注于Hello World按钮,包含Hello World按钮”.

我已经尝试将Java Access Bridge安装到JRE / lib / ext(我强烈怀疑这是正常的,因为我的程序拒绝启动我的应用程序,直到我把DLL放在Windows / System32中)但无济于事.

有人可以帮忙,或分享一些建议吗?

解决方法:

你没有,Narator是一个糟糕的屏幕阅读器.您需要安装java访问桥,然后使用jaws作为演示一次运行40分钟,或使用NVDA这是一个也支持Java的免费屏幕阅读器.

标签:java,windows,accessibility,windows-vista,narrator
来源: https://codeday.me/bug/20190627/1301921.html