import javax.accessibility.AccessibleContext;
import javax.accessibility.AccessibleText;
import javax.swing.JTextField;

public class Test {
    public static void main(String[] args) throws Exception {

        JTextField textField = new JTextField("Test1 Test2 Test3. Test4 Test5. Test6");
        AccessibleContext accessibleContext = textField.getAccessibleContext();
        AccessibleText accessibleText = accessibleContext.getAccessibleText();

        if (accessibleText != null) {
            String text = textField.getText();
            int textLength = text.length();


            String result = accessibleText.getBeforeIndex(AccessibleText.CHARACTER, textLength+1);

            System.out.println("Text: \"" + text + "\"");
            System.out.println("Text Length: " + textLength);
            System.out.println("Call: getBeforeIndex(CHARACTER, " + textLength + ")");
            System.out.println("Expected result: '6'");
            System.out.println("Actual result: '" + result + "'");
            if (!"6".equals(result)) {
                throw new RuntimeException("The actual result does not match the expected result.");
            } else {
                System.out.println("\nTest Passed.");
            }
        }

    }
}