2010-12-03 5 views
0

화면상의 양식을 채울 디자인을하고 있으며 텍스트 영역 모음으로 함께 모으는 것이 합리적이라고 생각합니다. JTextArea의 문서에서는 텍스트 영역을 행과 열로 세분 할 수 있지만 텍스트 영역의 특정 행/열 셀에 텍스트를 직접 배치하는 방법은 찾을 수 없습니다.Java JTextArea 질문

이러한 방법이 있습니까? 아니면이 목적으로 더 잘 작동하는 대체 텍스트 구성 요소가 있습니까?

미리 감사드립니다. 존 Doner

답변

0

조금 hackish하지만 실제 내용 앞에 (행 -1) 개행 문자와 (열 -1) 공백 문자를 삽입 할 수 있습니다. 물론 이전에 비어있는 텍스트 영역에서만 작동합니다.

그러나이 방법을 확장하여 필요한 경우에만 문자를 삽입하거나 기존 문자를 계산할 수 있습니다. 다시 말하면 행에 들어가려면 첫 번째 행 - 1 개의 개행을 건너 뜁니다. 그 라인에서 첫 번째 컬럼 -1 문자는 건너 뜁니다.

이미 텍스트 영역에 줄 바꿈 또는 문자가 충분하지 않은 경우 텍스트 끝에 더 추가하십시오.

그러나 텍스트 내용에 개행 문자가 포함되어 있으면 처리가 더 복잡해집니다.

그것은 할 수 있지만 추한 것입니다.

+0

으로 바뀌 었습니다. 화면의 양식이 대체 할 용지 모양처럼 보이도록 매우 좁은 간격으로 많은 텍스트 영역을 함께 붙여 놓았습니다. 텍스트 상자에는 모두 하나 이상의 레이블이 있으며 사용자는 올바른 위치의 적절한 상자를 클릭하기 만하면됩니다 (일부 영역에는 둘 이상의 데이터 유형에 대해 둘 이상의 레이블이 있음). 이 개별 텍스트 줄을 단일 텍스트 스트림으로 모으는 과정은 매우 반복적이어서 빠르며 파일에 해당 문자열을 저장합니다. 똑같이 지루하고 반복적 인 일이다. –

1

테이블을 원하는 경우

JTable가 있지만 좀 더 복잡하다. (Here is a tutorial) 또는 레이아웃에 JTextAreas를 넣을 수도 있습니다. GridLayout

+0

더 최신 버전의 API에 연결하는 것이 좋습니다. – jzd

+1

@jzd - 감사합니다 - –

0

행 및 열 값은 텍스트 영역에 기본 크기를 부여하기 위해 사용됩니다.

양식을 만들 때 특정 행에 텍스트를 설정하려고하지 않습니다. 일반적으로 양식은 레이블/텍스트 필드 쌍으로 디자인되므로 사용자는 텍스트 입력 위치를 알 수 있습니다.

텍스트 영역을 출력하는 경우 다른 행에 텍스트를 표시하려는 경우 새 행을 추가하기 만하면됩니다.

텍스트 영역에 주어진 행/열에 텍스트를 삽입 할 수 없도록하는 것은 분명히 사용 의도가 아닙니다.

실제 요구 사항을 이해할 수 없어서 다른 제안을 할 수 없습니다.