채팅창 GUI 부분 입니다. 채팅창에 많은 글씨를 넣게 되면 저런식으로 아이디 옆에 글이 써지는 것이 아닌 다음 줄에 글이 써집니다.
한글자로 사용 하는 것이 아닌 ex) 안녕하세요안녕하세요안녕하세요안녕하세요 .... 계속 반복
로 적는 경우엔 아이디 옆에 재대로 적혀 나오고 다음 줄에 적혀나옵니다.
가로 스크롤은 보여지지 않도록 해놓은 상태이며..
한글은 ㅋ만 사용한다면.. (26개)(60 Byte) 영어 z 만 사용한다면 (64)(72 Byte) 영어도 bgbg 이런식으로 사용하고 string.getByte.length 을 할 경우
byte 양이 틀려서.. 기준으로 삼기도 그렇고.. 한글과 영어도 삽입되는 갯수가 틀려 기준으로 잡을 수가 없더군요..
궁금한 점은
글씨가 올라오면 채팅창의 길이보다 클 경우에 문자열을 잘라낸 후 텍스트 삽입. 뉴라인을 삽입 후 남은 텍스트는 다음 줄에 써넣는 방식을 하고 싶은데 방법이 떠오르지 않아 질문 합니다.
밑의 소스는 JTEXTPANE에 글씨 삽입 하는 소스입니다.
public void appendToPane(String msg)
{
StyleContext sc = StyleContext.getDefaultStyleContext();
StyledDocument doc = chat.getStyledDocument();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, Color.black);
try {
doc.insertString(doc.getLength(), msg+"\n", aset);
System.out.println(doc.getLength());
} catch (BadLocationException e) {
e.printStackTrace();
}
}