반응형

javax.accessibility.AccessibleExtendedText는 Java 언어에서 접근성 지원을 위한 인터페이스 중 하나로, javax.accessibility.AccessibleText 인터페이스를 상속받고 있습니다
이 인터페이스는 텍스트 컴포넌트에서 추가적인 정보를 제공하기 위해 사용됩니다.

AccessibleExtendedText 인터페이스는 다음과 같은 메소드를 제공합니다.

1
int getIndexAtPoint(Point p)
- 주어진 좌표에 해당하는 문자열의 인덱스를 반환합니다.

2
Rectangle getCharacterBounds(int i)
- 주어진 인덱스에 해당하는 문자열의 경계 사각형을 반환합니다.

3
int getCharCount()
- 문자열의 총 길이를 반환합니다.

4
int getCaretPosition()
- 커서의 위치를 반환합니다.

5
String getSelectedText()
- 선택된 텍스트를 반환합니다.

6
int getSelectionStart()
- 선택된 텍스트의 시작 위치를 반환합니다.

7
int getSelectionEnd()
- 선택된 텍스트의 끝 위치를 반환합니다.

8
String getToolTipText()
- 툴팁에 표시할 텍스트를 반환합니다.

9
String getAfterIndex(int part, int index)
- 주어진 인덱스 이후의 문자열을 반환합니다.

10
String getBeforeIndex(int part, int index)
- 주어진 인덱스 이전의 문자열을 반환합니다.

11
String getAtIndex(int part, int index)
- 주어진 인덱스에 해당하는 문자열을 반환합니다.

12
AttributeSet getCharacterAttribute(int i)
- 주어진 인덱스에 해당하는 문자의 속성을 반환합니다.

13
int getSelectionCount()
- 선택된 텍스트의 길이를 반환합니다.

14
int getTextIndexAtPoint(Point p)
- 주어진 좌표에 해당하는 문자열의 인덱스를 반환합니다.

15
String getTextRange(int startIndex, int endIndex)
- 주어진 인덱스 범위에 해당하는 문자열을 반환합니다.

이 인터페이스는 텍스트 컴포넌트에서 사용되며, 사용자가 컴포넌트의 텍스트를 선택하고 이동하면 이러한 메소드가 사용됩니다
이 인터페이스를 구현한 클래스는 사용자에게 추가적인 정보를 제공할 수 있으며, 화면 낭독기와 같은 보조 기술에서 사용될 수 있습니다.
javax.accessibility.AccessibleExtendedText 인터페이스는 javax.accessibility.AccessibleText 인터페이스를 확장한 인터페이스입니다
이 인터페이스는 텍스트 컴포넌트에 대한 확장된 접근성 정보를 제공합니다


이 인터페이스의 메서드 중 일부는 텍스트 영역 내에서 특정 문자 위치에 대한 정보를 제공합니다
그 외의 메서드는 텍스트의 논리적 구조, 형식 지정, 하이라이트 및 선택 영역과 같은 다른 정보를 제공합니다.

javax.accessibility.AccessibleExtendedText 인터페이스의 주요 메서드는 다음과 같습니다.

- int getIndexAtPoint(Point pt): 지정된 점에서 문자의 인덱스를 검색합니다.
- Rectangle getCharacterBounds(int i): 지정된 위치에 있는 문자 영역의 경계 사각형을 반환합니다.
- int getCharCount(): 텍스트 컴포넌트 내의 문자 수를 반환합니다.
- int getCaretPosition(): 커서의 위치를 반환합니다.
- String getSelectedText(): 선택된 문자열을 반환합니다.
- String getTextRange(int startIndex, int endIndex): 주어진 시작 및 끝 인덱스에서의 텍스트 범위를 반환합니다.
- AttributeSet getCharacterAttributes(int i, int j): 주어진 문자 위치의 문자 속성을 반환합니다.

javax.accessibility.AccessibleExtendedText 인터페이스를 구현한 클래스는 스크린 리더기 및 다른 보조 기술이 컴포넌트의 텍스트를 읽고 조작하는 데 도움을 줄 수 있습니다.

예를 들어, JTextPane 클래스는 javax.accessibility.AccessibleExtendedText 인터페이스를 구현합니다
JTextPane의 getText() 메서드는 컴포넌트의 텍스트를 반환합니다
JTextPane의 getAccessibleContext() 메서드는 javax.accessibility.AccessibleContext 인터페이스를 반환합니다
이를 통해 JTextPane의 텍스트에 대한 접근성 정보를 가져올 수 있습니다.

다음은 JTextPane 클래스를 사용한 예제 코드입니다.

 

import javax.swing.*;
import javax.accessibility.*;

public class AccessibleExtendedTextExample {
   public static void main(String[] args) {
      JFrame frame = new JFrame("AccessibleExtendedText Example");
      JTextPane textPane = new JTextPane();
      textPane.setText("This is an example text.");
      frame.getContentPane().add(textPane);
      frame.pack();
      frame.setVisible(true);
      
      AccessibleContext ac = textPane.getAccessibleContext();
      AccessibleExtendedText aet = (AccessibleExtendedText) ac.getAccessibleText();
      int charCount = aet.getCharCount();
      System.out.println("Character count: " + charCount);
      String selectedText = aet.getSelectedText();
      System.out.println("Selected text: " + selectedText);
   }
}


이 예제는 JTextPane 객체를 만들고 이 객체의 AccessibleExtendedText 인터페이스 메서드를 호출하여 문자 수 및 선택된 텍스트를 출력합니다
이 예제를 실행하면 다음과 같은 결과가 출력됩니다.


javax.accessibility.AccessibleExtendedText는 구체적인 구현이 제공되지 않아서 예제 코드를 제공하기는 어렵습니다
그러나 AccessibleExtendedText를 구현하려는 경우 AccessibleText 인터페이스를 구현해야하며 해당 인터페이스에서 정의된 메소드들을 구현해야 합니다
이를 통해 다양한 텍스트 요소에 대한 접근성 정보를 제공할 수 있습니다


AccessibleExtendedText 인터페이스의 메소드 중 일부 예시는 다음과 같습니다.

 

public interface AccessibleExtendedText extends AccessibleText {
    
    public String getTextRange(int startIndex, int endIndex) throws BadLocationException;
    
    public AccessibleTextSequence getTextSequenceAt(int partIndex) throws BadLocationException;
    
    public int getPartAt(int index) throws BadLocationException;
    
    public Rectangle getBoundsAt(int partIndex) throws BadLocationException;
    
    public Accessible getAccessibleAt(Point p);
    
    public int getIndexAtPoint(Point p);
    
    public AttributeSet getCharacterAttribute(int partIndex);
    
    public int getCharCount();
    
    public int getCaretPosition();
    
    public String getAfterIndex(int part, int index) throws BadLocationException;
    
    public String getAtIndex(int part, int index) throws BadLocationException;
    
    public String getBeforeIndex(int part, int index) throws BadLocationException;
}


위의 인터페이스에서 정의된 메소드들은 텍스트 범위, 문자의 위치, 문자 스타일 등 다양한 텍스트 정보를 제공할 수 있습니다
이 메소드들은 특정 텍스트 요소의 접근성 정보를 제공하기 위해 구현될 수 있습니다


예를 들어, 이 인터페이스를 구현하여 사용자가 입력한 텍스트를 화면 낭독기에서 읽을 수 있도록 할 수 있습니다
또한 텍스트 필드, 텍스트 영역 및 기타 텍스트 구성 요소의 접근성 정보를 제공하기 위해 이 인터페이스를 구현할 수 있습니다.

반응형

+ Recent posts