Tôi đang cố gắng mở rộng StyledEditorKit trong Swing để có thể bao gồm một JLabel bên trong trình soạn thảo. Tôi đã có thể làm điều đó và đây là những gì tôi đã có cho đến nay. Trong hình bên dưới, văn bản được đánh dấu nút thuộc loại JLabel trong khi phần còn lại của văn bản là văn bản bình thường.Làm cách nào để thêm JLabel vào JEditorPane?
Như bạn có thể thấy nhãn ám một chút so hơn so với văn bản bình thường. Làm cách nào để tôi căn chỉnh đầu của nó bằng đầu văn bản còn lại?
Đây là mã cho quan điểm cho rằng được sử dụng để tạo ra yếu tố nhãn này:
class ComponentView(Element elem) {
@Override
protected Component createComponent() {
JLabel lbl = new JLabel("");
lbl.setOpaque(true);
lbl.setBackground(Color.red);
try {
int start = getElement().getStartOffset();
int end = getElement().getEndOffset();
String text = getElement().getDocument().getText(start, end - start);
lbl.setText(text);
} catch (BadLocationException e) {}
return lbl;
}
}