Swing で StyledEditorKit を拡張して、エディター内に JLabel を含めることができるようにしようとしています。私はそれをすることができました、そしてこれは私がこれまでに得たものです. 下の画像では、強調表示されたテキストボタンは JLabel タイプですが、残りのテキストは通常のテキストです。
ご覧のとおり、ラベルは通常のテキストよりも少し下に表示されます。その上部を残りのテキストの上部に揃えるにはどうすればよいですか?
このラベル要素を作成するために使用されるビューのコードは次のとおりです。
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;
}
}