Ich versuche, das StyledEditorKit in Swing zu erweitern, um ein JLabel in den Editor einfügen zu können. Das konnte ich und das habe ich bis jetzt erreicht. In der Abbildung unten ist der markierte Text Schaltfläche vom Typ JLabel, während der Rest des Textes normaler Text ist.Wie man JLabel zu JEditorPane hinzufügt?
Wie Sie das Etikett sehen macht etwas unter als der normale Text. Wie richte ich das obere Ende mit dem oberen Teil des restlichen Textes aus? Hier
ist der Code für die Ansicht, die verwendet wird, um dieses Label-Element zu erzeugen:
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;
}
}