Tôi đã tìm kiếm này trong một thời và cho đến nay tất cả những gì tôi có thể đưa ra là làm thế nào để tạo ra một phong cách và áp dụng nó vào một nhân vật như vậy:Làm cách nào để đặt từng ký tự thành màu nền/màu nền khác nhau trong JTextPane?
StyledDocument doc = (StyledDocument) new DefaultStyledDocument();
JTextPane textpane = new JTextPane(doc);
textpane.setText("Test");
javax.swing.text.Style style = textpane.addStyle("Red", null);
StyleConstants.setForeground(style, Color.RED);
doc.setCharacterAttributes(0, 1, textpane.getStyle("Red"), true);
này rất hữu ích nếu bạn chỉ có một vài kiểu trong tài liệu của mình và muốn lưu trữ chúng theo tên để bạn có thể áp dụng chúng một cách dễ dàng sau này. Trong ứng dụng của tôi, tôi muốn có thể thiết lập màu nền trước (một trong số chỉ một vài giá trị) và màu nền (thang độ xám, nhiều giá trị khác nhau) một cách độc lập cho mỗi ký tự trong văn bản. Nó có vẻ như một sự lãng phí rất lớn để tạo ra hàng trăm/hàng ngàn phong cách khác nhau cho việc này. Có cách nào để đặt các thuộc tính này mà không phải tạo kiểu mới mỗi lần không? Sẽ dễ dàng hơn nhiều nếu tôi chỉ phải hiển thị văn bản nhưng tôi cũng cần phải chỉnh sửa văn bản. Có cách nào để làm điều này với JTextPane
, hoặc là có một lớp swing cung cấp chức năng này?
bất kỳ vấn đề bản quyền nào với văn bản? Rất thích sử dụng nó trong bài kiểm tra SwingX utils :-) – kleopatra
@ kleopatra AFAIK "Lorem ipsum" thuộc phạm vi công cộng vì nó tồn tại hơn 500 năm. –
@kleopatra không tôi lấy nó từ [đây] (http://www.lipsum.com/) –