Menyesuaikan Warna Teks dalam JTextArea
JTextArea, komponen yang biasa digunakan untuk memaparkan teks biasa, tidak mempunyai fleksibiliti untuk menyesuaikan warna teks tertentu segmen dalam dokumen. Untuk mencapai tahap kawalan ini, pertimbangkan untuk menggunakan JTextPane sebaliknya.
JTextPane menyediakan set ciri yang berkuasa untuk memanipulasi pemformatan teks, termasuk keupayaan untuk menetapkan warna yang berbeza kepada bahagian teks yang berbeza. Begini cara anda boleh mencapai penyesuaian ini:
import java.awt.*; import javax.swing.*; import javax.swing.text.*; public class TextCustomization { public static void main(String[] args) { // Create a JTextPane for displaying the text JTextPane textPane = new JTextPane(); // Create a SimpleAttributeSet to control text attributes SimpleAttributeSet blueAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(blueAttributeSet, Color.BLUE); SimpleAttributeSet greenAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(greenAttributeSet, Color.GREEN); SimpleAttributeSet redAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(redAttributeSet, Color.RED); SimpleAttributeSet orangeAttributeSet = new SimpleAttributeSet(); StyleConstants.setForeground(orangeAttributeSet, Color.ORANGE); // Set the text and apply color attributes to specific segments String text = "LOAD R1, 1\nDEC R1\nSTORE M, R1\nADD R4, R1,8"; textPane.setText(text); // Color specific words textPane.setParagraphAttributes(blueAttributeSet, true); textPane.setCaretPosition(0); textPane.setSelectedTextColor(Color.BLUE); textPane.setSelectionStart(0); textPane.setSelectionEnd(4); textPane.replaceSelection("LOAD"); textPane.setParagraphAttributes(greenAttributeSet, true); textPane.setCaretPosition(5); textPane.setSelectedTextColor(Color.GREEN); textPane.setSelectionStart(5); textPane.setSelectionEnd(7); textPane.replaceSelection("R1,"); textPane.setParagraphAttributes(redAttributeSet, true); textPane.setCaretPosition(9); textPane.setSelectedTextColor(Color.RED); textPane.setSelectionStart(9); textPane.setSelectionEnd(10); textPane.replaceSelection("M"); textPane.setParagraphAttributes(orangeAttributeSet, true); textPane.setCaretPosition(12); textPane.setSelectedTextColor(Color.ORANGE); textPane.setSelectionStart(12); textPane.setSelectionEnd(13); textPane.replaceSelection("R1,"); } }
Dalam contoh ini, coretan kod menunjukkan cara menukar warna kata kunci tertentu ("LOAD," "DEC," "STORE," "ADD," "R1," "M," dan nombor) kepada warna yang ditetapkan (biru, hijau, merah dan oren). Dengan menetapkan atribut yang sesuai dan menggantikan segmen teks yang dipilih, anda boleh menyesuaikan penampilan teks dalam JTextPane.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menyesuaikan warna teks dalam segmen tertentu JTextArea?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!