게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바>GUI 부분 채팅 창의 길이 보다 클 경우 다음 줄에 글씨 삽입
게시물ID : programmer_4892짧은주소 복사하기
작성자 : 시로소사로소
추천 : 0
조회수 : 983회
댓글수 : 1개
등록시간 : 2014/08/08 00:50:45
옵션
  • 본인삭제금지
문제점.png
 
채팅창 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();
  }
 }
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호