source

줄바꿈(JLABEL)

goodcode 2022. 9. 3. 13:17
반응형

줄바꿈(JLABEL)

줄바꿈을 표시하려면 어떻게 해야 합니다.JLabel?

예를 들어, 필요한 경우:

헬로 월드!
어쩌구 저쩌구.

제가 지금 가지고 있는 것은 다음과 같습니다.

JLabel l = new JLabel("Hello World!\nblahblahblah", SwingConstants.CENTER);

표시되는 것은 다음과 같습니다.

헬로 월드! blahblahblah

바보같은 질문이라면 용서해주세요. 전 이제 막 스윙 기본을 배우고 있어요.

스트링 테두리<html></html>선을 깬다.<br/>.

JLabel l = new JLabel("<html>Hello World!<br/>blahblahblah</html>", SwingConstants.CENTER);

다음과 같이 시도해 볼 수 있습니다.

myLabel.setText("<html>" + myString.replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n", "<br/>") + "</html>")

이를 통해 얻을 수 있는 이점은 다음과 같습니다.

  • 모든 줄바꿈을 다음으로 바꿉니다.<br/>, 어김없이.
  • 자동으로 대체됩니다.<그리고.>와 함께&lt;그리고.&gt;대혼란을 방지한다.

기능:

  • "<html>" +개구부를 추가하다html선두에 태그를 붙이다
  • .replaceAll("<", "&lt;").replaceAll(">", "&gt;")이스케이프<그리고.>편의상
  • .replaceAll("\n", "<br/>")모든 줄바꿈을 다음으로 바꿉니다.br(HTML 줄 바꿈) 원하는 태그
  • ...그리고.+ "</html>"닫다html꼬리표를 달다

추신: 이렇게 오래된 게시물을 깨워서 정말 미안하지만, 어쨌든 당신은 당신의 자바에 대한 믿을만한 단편들을 가지고 있습니다!

Jide 오픈 소스 구성 요소에서 MultilineLabel 구성 요소를 사용할 수 있습니다.

http://www.jidesoft.com/products/oss.htm

할수있습니다

JLabel l = new JLabel("<html><p>Hello World! blah blah blah</p></html>", SwingConstants.CENTER);

적절한 경우 자동으로 포장됩니다.

JIDE Multiline Label을 추천해 주셔서 감사합니다.JIDE의 Styled Label도 최근 여러 회선을 지원하도록 강화되었습니다.Multiline Label보다 추천할 만한 기능이 많이 있습니다.아래의 Styled Label 기사를 확인하실 수 있습니다.그것은 여전히 자유롭고 오픈 소스이다.

http://www.jidesoft.com/articles/StyledLabel.pdf

JLabel은 실제로 기본적인 HTML을 표시할 수 있습니다.그 때문에, 새로운 행의 문자(System.out 등)의 사용에 응답하지 않습니다.

해당 HTML을 입력하고<BR>새로운 라인이 생깁니다.

언급URL : https://stackoverflow.com/questions/1090098/newline-in-jlabel

반응형