簡體   English   中英

獲取JTextPane中選定文本的字體大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM