Sto cercando di estendere lo StyledEditorKit in Swing per poter includere una JLabel all'interno dell'editor. Sono stato in grado di farlo e questo è quello che ho ottenuto finora. Nell'immagine sottostante, il testo evidenziato pulsante è di tipo JLabel mentre il resto del testo è testo normale.Come aggiungere JLabel a JEditorPane?
Come si può vedere l'etichetta rende un po 'al di sotto rispetto al testo normale. Come allineare la sua parte superiore con la parte superiore del testo rimanente?
Ecco il codice per la vista che viene usato per creare questa elemento etichetta:
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;
}
}