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