2017-05-15 2 views
0

다른 아스키 아트를 표시하는 스윙 프로그램을 만들고 있습니다. 바로 지금 사용자가 버튼을 클릭하면 ascii 아트를 얻고 TextArea에 추가합니다. 그러나 나는 그것이 수직 이도록 덧붙인다. 예를 들어 :자바 스윙에서 텍스트를 수평으로 추가하는 방법

card = " ----------\n" + 
      " |  " + c + " |\n" + 
      " |   |\n" + 
      " |   |\n" + 
      " |   |\n" + 
      " | " + c + "  |\n" + 
      " ----------"; 
text.append(card); 

은 얻을 것 Picture of two cards appended vertically

이 "C"에 할당 된 임의의 얼굴, 카드의 간단한 아스키 아트를 추가합니다. 다른 카드를 추가하여 출력이 이렇게 보이게하려면 어떻게해야합니까?

Picture of two cards added how I would like it to be

+2

: 당신은 당신이 같은 코드를 사용하는 것이 업데이트 할 각 라인에 대한 다음

Document doc = textArea.getDocument(); 

:

당신은 사용하여 문서를 얻을 수 새 텍스트의 각 줄을 이전 텍스트의 해당 줄에 추가하고 텍스트를 다시 설정하십시오. 특정 도움을 원한다면 직접 시도해야합니다. –

답변

0

당신은 텍스트 영역의 append() 방법을 사용할 수 없습니다. 대신 텍스트 영역의 Document에 직접 텍스트를 삽입해야합니다. 당신은 텍스트 영역에서 기존 텍스트 읽어해야 할 것

int lineEnd = textArea.getLineEndOffset(???) 
doc.insertString(lineEnd, "whatever", null); 
관련 문제