辅助功能代码无效

时间:2016-07-05 06:26:06

标签: java

我正在尝试使用getAccessibleContext()编写GUI .setAccessibleName() 代码编译,但我的屏幕阅读器“JAWS”除了窗口标题外不会读取任何内容。 我甚至尝试用鼠标点击按钮,但仍然不会读取按钮文本。

通常,按下shift键,我应该在按钮之间跳转,屏幕阅读器应该读取。

顺便说一句,你不需要“JAWS”来测试代码。您可以使用Windows Naraator。它在“所有程序”>下配件>可访问性>旁白 这也不会读取按钮。

以下是代码:

import java.io.*;
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import javax.accessibility.*;


public class ggi{

public static void main( String args[] ){

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize( 400, 200 );
frame.setVisible(true);
frame.getRootPane().setBorder(BorderFactory.createMatteBorder(4, 4, 4, 4, Color.BLACK));
frame.setTitle(" Testing access ");
frame.getAccessibleContext().setAccessibleName(" I am testing accessibility ");
frame.setLocationRelativeTo( null );
frame.setResizable( false );

JPanel panel= new JPanel();
frame.getContentPane().add( panel );
panel.setBackground( new Color( 100, 100, 100 ) );
panel.setLayout( null );
panel.getAccessibleContext().setAccessibleName(" This is a panel ");

JButton startR= new JButton(" Start ");
startR.getAccessibleContext().setAccessibleName(" Start  ");
panel.add(startR);
startR.setBackground( Color.black );
startR.setForeground( Color.white );
startR.setBorderPainted(false);
startR.setFocusPainted( false );
startR.setBounds( 10, 10 , 100, 25 );
startR.setToolTipText(" start New ");


final JButton stopR= new JButton("Stop ");
stopR.getAccessibleContext().setAccessibleName(" Stop  ");
panel.add( stopR );
stopR.setBounds( 150, 10 , 100, 25 );
stopR.setBackground( Color.black );
stopR.setForeground( Color.white );
//startR.setContentAreaFilled(false);
stopR.setBorderPainted(false);
stopR.setFocusPainted( false );
stopR.setToolTipText(" Stop  ");

}//main
}//class

0 个答案:

没有答案