[英]Get font size of selected text in JTextPane
在我的文本編輯器中,我提供了通過JComboBox和StyledEditorKit更改文本的選項。 唯一的問題是,一旦我在組合框中選擇了一個大小(它更改了所選文本),然后選擇了一個新的文本選擇,則無論實際大小如何,組合框中的值都將保持與先前的選擇相同。尺寸。
我看到了這篇文章,但我不太理解給出的答案。
這是我用來更改字體的代碼
JComboBox<?> fontSizeCombo = new JComboBox<Object>(sizes.toArray());
fontSizeCombo.setFocusable(false);
fontSizeCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new StyledEditorKit.FontSizeAction("myaction-", (int) ((JComboBox<?>) e.getSource()).getSelectedItem()).actionPerformed(e);
}
});
“大小”僅包含從8到112的整數(以4為增量)。
任何幫助是極大的贊賞。
提到的帖子意味着您應該在編輯器中添加CaretListener。 更改選擇時,插入符號位置會更新,並調用偵聽器。 然后,將更新套件的InputAttributes。 您可以訪問屬性並獲取當前插入符號位置(選擇)的字體大小。
將插入號偵聽器添加到您的文本窗格,該窗格調用組合框的更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.