相关代码如下:
private void setColor(){
String input = jTextPane.getText();
String patternStr = "Str";
String patternArr = "Array";
Pattern pattStr = Pattern.compile(patternStr);
Pattern pattArr = Pattern.compile(patternArr);
Matcher mtStr=pattStr.matcher(input);
Matcher mtArr=pattArr.matcher(input);
if(mtStr.find()){
int indexStr = text.indexOf(patternStr );
while (indexStr <= text.lastIndexOf(patternStr)) { setTextColor(jTextPane, text.indexOf(patternStr, indexStr), patternStr.length(),
Color.RED);
indexStr += 1; }
}
if(mtArr.find()){
int indexArr = text.indexOf(patternArr );
while (indexStr <= text.lastIndexOf(patternArr )) { setTextColor(jTextPane, text.indexOf(patternArr, indexStr), patternArr.length(),
Color.BLUE);
indexStr += 1; }
}
jTextPane.updateUI(); }
private void setTextColor(final JTextPane sourcePane,
final int startPos, final int length, final Color color) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
javax.swing.text.MutableAttributeSet attr = new javax.swing.text.SimpleAttributeSet();
javax.swing.text.StyleConstants.setForeground(attr, color); if (length > 0) {
javax.swing.text.StyledDocument doc = (javax.swing.text.StyledDocument) sourcePane.getDocument();
doc.setCharacterAttributes(startPos, length, attr, false); } }
}); }
private void setColor(){
String input = jTextPane.getText();
String patternStr = "Str";
String patternArr = "Array";
Pattern pattStr = Pattern.compile(patternStr);
Pattern pattArr = Pattern.compile(patternArr);
Matcher mtStr=pattStr.matcher(input);
Matcher mtArr=pattArr.matcher(input);
if(mtStr.find()){
int indexStr = text.indexOf(patternStr );
while (indexStr <= text.lastIndexOf(patternStr)) { setTextColor(jTextPane, text.indexOf(patternStr, indexStr), patternStr.length(),
Color.RED);
indexStr += 1; }
}
if(mtArr.find()){
int indexArr = text.indexOf(patternArr );
while (indexStr <= text.lastIndexOf(patternArr )) { setTextColor(jTextPane, text.indexOf(patternArr, indexStr), patternArr.length(),
Color.BLUE);
indexStr += 1; }
}
jTextPane.updateUI(); }
private void setTextColor(final JTextPane sourcePane,
final int startPos, final int length, final Color color) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
javax.swing.text.MutableAttributeSet attr = new javax.swing.text.SimpleAttributeSet();
javax.swing.text.StyleConstants.setForeground(attr, color); if (length > 0) {
javax.swing.text.StyledDocument doc = (javax.swing.text.StyledDocument) sourcePane.getDocument();
doc.setCharacterAttributes(startPos, length, attr, false); } }
}); }
解决方案 »
- 关于IO的BufferedRead的readLine()方法
- 关于java网页编程的一些问题
- AWT/Swing中GIF动画是怎么update的
- InetAddress.getLocalHost()在联网时返回的究竟是什么地址?
- 问问高手学习C#和Java的感触!
- 请求getResourceAsStream()方法的使用????
- java.security.AccessControlException异常一般怎么处理
- 如何计算机等级考试成绩查询?
- ● 大家有没有用JAVA编程序的好题目?
- 请问安装了Jb5以后总是要我注册怎么办?
- 用IE打开pdf文件的时候,会显示出pdf的工具栏,如何定制这个工具栏(显示一部分或不显示)
- 帮我看看程序错误
private void setColor(){
String input = jTextPane.getText();
String patternStr = "Str";
String patternArr = "Array"; Pattern pattStr = Pattern.compile(patternStr);
Pattern pattArr = Pattern.compile(patternArr);
Matcher mtStr=pattStr.matcher(input);
Matcher mtArr=pattArr.matcher(input);
if(mtStr.find()){
int indexStr = input.indexOf(patternStr );
while (indexStr <= input.lastIndexOf(patternStr)) { setTextColor(jTextPane, input.indexOf(patternStr, indexStr), patternStr.length(),
Color.RED);
indexStr += 1; }
}
if(mtArr.find()){
int indexArr = input.indexOf(patternArr );
while (indexArr <= input.lastIndexOf(patternArr )) { this.setTextColor(jTextPane, input.indexOf(patternArr, indexArr), patternArr.length(),
Color.BLUE);
indexArr += 1; }
}
jTextPane.updateUI(); }
private void setTextColor(final JTextPane sourcePane,
final int startPos, final int length, final Color color) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
javax.swing.text.MutableAttributeSet attr = new javax.swing.text.SimpleAttributeSet();
javax.swing.text.StyleConstants.setForeground(attr, color); if (length > 0) {
javax.swing.text.StyledDocument doc = (javax.swing.text.StyledDocument) sourcePane.getDocument();
doc.setCharacterAttributes(startPos, length, attr, false); } }
}); }