import java.awt.BorderLayout;
import java.lang.reflect.InvocationTargetException;
import javax.accessibility.AccessibleContext;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;

public class TestJProgressBarAccessibility {

    private static JFrame frame;

    private static void createTestUI() throws InterruptedException, InvocationTargetException {
        SwingUtilities.invokeAndWait(() -> {
	    frame = new JFrame("Test JProgressBar accessibility");
            JProgressBar progressBar = new JProgressBar();
            progressBar.setValue(50);
            progressBar.setStringPainted(true);
            AccessibleContext accessibleContext =
                    progressBar.getAccessibleContext();
            accessibleContext.setAccessibleName("JProgressBar accessibility name");
            accessibleContext.setAccessibleDescription("Jprogress accessibility " +
                    "description");

            frame.getContentPane().add(progressBar, BorderLayout.CENTER);
            frame.setSize(200, 200);
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        });

    }

    public static void main(String[] args) throws InterruptedException, InvocationTargetException {
        createTestUI();
    }
}

