JTextArea에서 텍스트 색상을 조작하는 방법
JTextArea는 일반적으로 색상과 같은 서식 속성이 전체 문서에 균일하게 적용되는 일반 텍스트를 처리합니다. 그러나 JTextArea의 특정 부분의 텍스트 색상을 사용자 정의하려는 경우 JTextPane 또는 JEditorPane을 활용할 수 있습니다.
JTextPane을 사용하면 색상 사용자 정의 기능으로 텍스트 영역을 향상할 수 있습니다.
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.text.AttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; public class TextPaneTest extends JFrame { private JPanel topPanel; private JTextPane tPane; public TextPaneTest() { // ... (Initialize components and set layout) // Create a custom method to append text with specified color appendToPane(tPane, "My Name is Too Good.\n", Color.RED); appendToPane(tPane, "I wish I could be ONE of THE BEST on ", Color.BLUE); appendToPane(tPane, "Stack", Color.DARK_GRAY); appendToPane(tPane, "Over", Color.MAGENTA); appendToPane(tPane, "flow", Color.ORANGE); // Add the text pane to the content pane getContentPane().add(topPanel); // ... (Finishing touches for the frame) } private void appendToPane(JTextPane tp, String msg, Color c) { StyleContext sc = StyleContext.getDefaultStyleContext(); AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c); aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console"); aset = sc.addAttribute(aset, StyleConstants.Alignment, StyleConstants.ALIGN_JUSTIFIED); int len = tp.getDocument().getLength(); tp.setCaretPosition(len); tp.setCharacterAttributes(aset, false); tp.replaceSelection(msg); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new TextPaneTest(); } }); } }
이 코드에서appendToPane 메소드는 적절한 색상을 설정하면서 텍스트 창에 텍스트를 추가합니다. 그 결과 텍스트의 다양한 섹션이 고유한 색상을 나타내는 텍스트 영역이 생성되어 특수 키워드나 데이터를 시각적으로 더 잘 표현할 수 있습니다.
위 내용은 JTextArea에서 특정 텍스트에 색상을 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!