小编use*_*337的帖子

如何更改JTextPane的输入属性?

我使用了JButton,当点击按钮时,运行这些代码:

StyledDocument doc = (StyledDocument) textPane.getDocument(); 
MutableAttributeSet attr = new SimpleAttributeSet(); 
int p0=textPane.getSelectionStart();
int p1=textPane.getSelectionEnd();
if(p0!=p1){
   StyleConstants.setForeground(attr, Color.RED); 
   doc.setCharacterAttributes(p0,p1-p0, attr,false);
}
textPane.getInputAttributes().addAttributes(attr);
Run Code Online (Sandbox Code Playgroud)

从p0到p1的字符确实变为红色

但我输入的字符仍然是黑色,而不是红色:(

例子:

我键入"12345"并选择"234".

新的5还是黑色的.

在此输入图像描述

但如果我输入"1234"并选择"234".

新的5将是红色的.

即使没有"textPane.getInputAttributes().addAttributes(attr);"

在此输入图像描述

java swing

2
推荐指数
1
解决办法
393
查看次数

标签 统计

java ×1

swing ×1