簡體   English   中英

如何識別JTextPane中所選文本的大小是否不同?

[英]How to identify if the selected text in JTextPane are of different sizes?

我正在開發一個編輯器,其中有一個用於顯示字體大小的組合框。 用戶可以使用它來更改文本大小。

我還實現了插入符號偵聽器,該偵聽器告訴我所選文本的大小並相應地更新組合框。 現在,如果用戶選擇兩種不同大小的文本,我想在組合框中填充空白值。 但是我無法使用Caret偵聽器來執行此操作,因為它使我可以容納第一段文字的大小。

例如:如果我的文字是“ HI”。 這里H的大小為12,I的大小為22。現在,當我選擇“ HI”時,插入號偵聽器會為我提供12或22的值。

這是示例代碼:

StyledDocument doc = pane.getStyledDocument();
MutableAttributeSet fontSizeStyle = ((StyledEditorKit)pane.getEditorKit()).getInputAttributes();
int fontSize = StyleConstants.getFontSize(fontSizeStyle);

下面的代碼將循環遍歷Jtextpane中的選定文本,並獲取每個字符的大小。

String selectedText = pane.getSelectedText();
int k = pane.getSelectionStart();

for(int i=0; i< selectedText.length(); i++) {
   AttributeSet fontSize = doc.getCharacterElement(k).getAttributes();                       
   System.out.println("fontSize:"+StyleConstants.getFontSize(fontSize));
   k++;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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