日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 學院 > 開發設計 > 正文

如何更好的使用JTextPane

2019-11-18 13:34:19
字體:
來源:轉載
供稿:網友


  我經常在網上看見許多朋友問,如何在JTextArea中控制字符,如何設置特定字符的顏色等等。我在用java做一個SQL查詢分析器中發現了一個比較好的解決方案就是使用JTextPane,那么如何更好的使用JTextPane呢,我現摘自我那部分程序的一部分,供大家參考。



package com.JDAGUI;

import javax.swing.text.*;
import java.util.*;
import java.awt.*;
import com.JDA.*;
/**
*@author whxu
*/
public class JDAStyledDocument extends DefaultStyledDocument
{
 PRivate int type = -1;//數據連接類型

 AttributeSet myAttributeSet = null;
 public JDAStyledDocument(int type)
 {
  this.type = type;
 }
 /**
 *插入字符串
 */
 public void insertString(int offset,String str,AttributeSet a)
 throws BadLocationException
 {
  this.myAttributeSet = a;
  super.insertString(offset,str,a);
  setSyntaxColor(offset,str.length());
 }
/**
 *刪除字符串
 */
 public void remove(int offs,int len)
 throws BadLocationException
 {
  super.remove(offs,len);
  setSyntaxColor(offs);
 }
 /**
 *獲取制定位置的字符
 */
 private String getPositionChar(int offset)
 {
  String str = "";
  try
  {
   str = getText(offset,1);
  }
  catch(BadLocationException ex)
  {
   //ex.printStackTrace(System.out);
  }
  return str;
 }
/**
 *從指定的位置開始,倒推到第一個碰到空格位置
 */
 private String getBeforeBlankString(int offset)
 {
  String str = "";
  if(offset<0) return "";
 
  str = getPositionChar(offset);
  if(SyntaxMgr.isSpaceChar(str))
   return "";

  String r = getBeforeBlankString(offset-1);
  return r + str;
 }
 /**
  *從指定的位置開始,順推到第一個碰到空格位置
 */
 private String getAfterBlankString(int offset)
 {
  String str = "";
  if(offset>getLength()) return "";
   str = getPositionChar(offset);
   if(SyntaxMgr.isSpaceChar(str))
    return "";
   String r = getAfterBlankString(offset+1);
   return str + r;
 }  
 /**
  * 根據Postion,向前判定,向后判定,設置顏色,返回設置顏色末尾的位置
 */
 private int setSyntaxColor(int offset)
 {
  if(offset<0) return offset;//假如設置的位置不存在,可以不用考慮

  if(myAttributeSet==null) return offset;//假如myAttributeSet為null,可以不用考慮

  String ifSyntax = "";
  
  String before = getBeforeBlankString(offset-1);
  String after = getAfterBlankString(offset);

  Syntax = (before + after).trim();

  int start = offset-before.length();

  int tmp_len = ifSyntax.length();

  if(start<0 tmp_len<=0) return offset;//假如設置顏色的字符串為空,返回

  //設置顏色
 StyleConstants.setForeground((MutableAttributeSet)myAttributeSet,
  SyntaxMgr.isSyntax(type,ifSyntax));

 setCharacterAttributes(start,tmp_len,myAttributeSet,true);

  return start + tmp_len;
 }
 /**
  *根據一個范圍,設置該范圍內的的SyntaxColor
 */
 private int setSyntaxColor(int offset,int len)
  throws BadLocationException
  {
   //假如范圍不存在,不考慮
   if(offset<0 len<0) return offset;
   int tmp_offset = offset;
   while(tmp_offset<offset + len)
   {
    tmp_offset = setSyntaxColor(tmp_offset);
    tmp_offset = getNextWordOffset(tmp_offset);
   }
   tmp_offset = setSyntaxColor(tmp_offset);//設置循環完后的最后一個單詞
   return tmp_offset;
  }
  /**
   *根據Postion,獲得下一個單詞的開始點
  */
  private int getNextWordOffset(int offset)
  {
   int rOffset = offset;
   int textlength = getLength();

   while(rOffset<=textlength && offset>=0)
   {
    String str = getPositionChar(rOffset);
    if(!SyntaxMgr.isSpaceChar(str))
    {
     break;
    }
    rOffset+=1;
   }

  if(rOffset!=offset)//設置間隔的顏色
  {
   //設置顏色
  StyleConstants.setForeground((MutableAttributeSet)myAttributeSet,
   SyntaxColorMgr.getSpaceColor());
  setCharacterAttributes(offset,rOffset-offset,myAttributeSet,true);
  }

  return rOffset;
 }

}

  到此為此,我們做好了一個適用于JTextPane的Document。使用JTextPane就比較簡單了。

  可以這樣使用

JTextPane sqlPane = new JTextPane(new JDAStyledDocument(type));

因為我這個例子中使用了根據數據庫類型不同來顯示不同的要害字,所以我傳了一個int type。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产乱国产乱老熟300| 中文字幕欧美日韩| 午夜av一区二区| 日韩国产欧美在线视频| 国产一区在线精品| 欧美三级日韩在线| 人人做人人澡人人爽欧美| 国产拍揄自揄精品视频麻豆| 久久精品国产视频| 91久久精品网| 国产黄色精品| 免费视频最近日韩| 国产婷婷色一区二区三区在线| 精品对白一区国产伦| 91精品国产91综合久久蜜臀| 精品欧美日韩| 欧美日韩性视频一区二区三区| 国产欧美日韩在线观看| 日韩国产专区| 色综合影院在线| 99这里有精品视频| 天天综合天天做| 成人h视频在线观看| 91精品免费观看| 日韩国产高清一区| 日韩在线欧美| 久久久91精品国产| 国产激情在线播放| 日韩精品视频免费| 91精品久久久久久久91蜜桃| 国产日韩第一页v| 中文字幕精品一区二区三区在线| 欧美日韩性视频一区二区三区| 综合激情一区| av一区在线| 日韩视频1区| 中文字幕欧美在线| 国产最新在线| 黄色一区二区在线| 中文字幕精品视频| 国产成人精品免费网站| 不卡视频一区二区三区| 91精品国产高清91久久久久久| 狠狠色综合色区| 日韩国产91| 日韩不卡一区二区| 国产丝袜一区二区| 亚洲综合三区| 精品人妻一区二区免费视频| 九一久久久久久| 国产wwww| 精品在线网站观看| 日韩欧美999| 一区二区不卡视频| 国产一卡二卡3卡4卡四卡在线 | 欧美一级在线免费| 欧美日韩亚洲综合| 午夜一区二区三区视频 | 日韩欧美亚洲国产一区| 国产一级在线免费观看| 欧美一级久久久久久久久大| 久久久久久久久99精品| 中文字幕在线观看精品| 国产黄色小视频| 欧美日韩精品国产| 中文字幕亚洲高清| 久久久91精品| 日韩视频 中文字幕| 亚洲综合视频一区| 日韩精品在线免费播放| 亚洲三级av| 三级网站免费观看| 日韩字幕在线观看| 日韩免费高清一区二区| 日韩国产高清一区| 国产99对白在线播放| 国产黄色在线| 91精品国产综合久久精品| 国产在线二区| 国产传媒久久久| 国产欧美三级| 欧美日韩三级在线| av免费观看国产| 中文字幕乱码在线| 免费视频最近日韩| 日韩精品在线免费观看视频| 中文字幕视频一区二区三区久| 欧美日韩国产三级| 中文字幕久精品免费视频| 亚洲高清视频一区| 亚洲综合欧美在线| 精品婷婷伊人一区三区三| 欧美久久一二三四区| 日韩精品免费视频一区二区三区| 日韩免费视频一区二区| 欧美日韩中文字幕在线视频| 日韩欧美国产视频| 欧美日韩999| 91精品国产综合久久久久久| 欧美日韩综合在线| 99久久久精品免费观看国产| 日韩欧美综合视频| 激情久久99| 亚洲开心激情| 欧美日韩国产一区在线| 国产综合成人久久大片91| 国产999在线观看| 一级一片免费视频| 国产丝袜一区二区| 久久99蜜桃精品久久久久小说| 日韩一级精品| 在线观看免费国产成人软件| 国产午夜精品一区二区三区视频| 欧美久久综合性欧美| 日韩精品在线私人| 日韩综合精品| 五月综合激情日本mⅴ| 美女尤物久久精品| 天天综合天天添夜夜添狠狠添| 国内精品99| 欧美在线视频第一页| 欧美日韩国产在线看| 日韩国产在线不卡视频| 精品国产乱码久久久久久蜜臀 | 免费在线亚洲| 成人精品国产福利| 91精品国产自产在线丝袜啪| 国内精品99| 久久婷婷综合国产| 国产黄色片大全| 亚洲精品中文字幕乱码三区不卡| 中文字幕在线官网| 欧美自拍一区| 日韩国产成人精品| 欧美日韩亚洲一区| 日韩精品在线观看视频| 中文字幕欧美日韩| 日韩久久精品成人| 精品国产不卡一区二区| 欧美日韩午夜精品| 国产91大片| 精品欧美不卡一区二区在线观看| 中文字幕国产亚洲| 亚亚洲欧洲精品| 欧美日韩不卡在线视频| 欧美日韩中文字幕综合视频| 成片免费观看| 日韩一级在线免费观看| 视频一区二区不卡| 日韩中文字幕视频在线观看| 欧美日韩在线播放视频| 日韩精品在线观看网站| 亚洲成a人片在线www| 中文字幕国产视频| 亚洲大片精品永久免费| 国产95在线|亚洲| 国产黄色在线播放| 一级片免费网站| 欧美日韩国产一二三| 亚洲一区中文在线| 久草视频观看| 亚洲.国产.中文慕字在线| 欧美日韩国产成人| 欧美性生交大片免费| 中文在线不卡| 中文字幕精品亚洲| 亚洲欧美中文字幕在线观看| 樱花草www在线| 国产一区 二区 三区一级| 中文字幕欧美日韩在线不卡| 精品日韩一区二区三区免费视频| 91精品国产自产91精品| 日韩欧美在线网址| 中文字幕日韩国产| 精品国产999| 日韩av一区二| 色欧美日韩亚洲| 午夜一区二区三区| 精品人妻一区二区三区视频| 日韩欧美中文字幕公布| 欧美日韩三级视频| 中文字幕精品国产| 中文字幕高清在线播放| 在线国产1区| 日韩三级视频在线看| 欧美一卡2卡三卡4卡5免费| 国产乱码在线观看| 免费一级欧美在线观看视频| 中文字幕精品一区二| 欧美亚洲国产免费| 日韩欧美国产成人精品免费| 在线视频你懂得一区| 国产绿帽一区二区三区| 77777_亚洲午夜久久多人 | 不卡中文一二三区| 欧美日韩国产一二三| 欧美日韩亚洲国内综合网俺| 国产婷婷色一区二区三区| 粉嫩喷白浆久久| 天天综合日日夜夜精品| 欧美日韩精品在线观看| 中文字幕在线观看视频www| av免费观看网站| 亚洲成年人影院在线| 精品国产99| 激情久久99| 国产三级在线| 欧美日韩国产一区在线| 一区二区高清视频| 精品久久在线| 亚洲3区在线| 中文在线一区| 美女免费视频一区| 欧美日韩国产中文| 亚洲二区自拍| av午夜在线| 精品视频1区2区3区| 99精品视频国产| 日韩精品一二三四区| 精品三级久久| 中文字幕一区不卡| 日韩在线不卡| 九九在线精品| 欧美日韩综合高清一区二区| 91久久精品在线| 一区免费视频| 日韩欧美国产亚洲| 精品国产欧美| 在线观看精品国产| 亚洲制服一区| 国产高清一级片| 亚洲黄色片在线观看| 欧美日韩综合色| 欧美日韩精品国产| 在线一区二区不卡| 日韩精品视频在线看| 91日韩中文字幕| 国产三级在线观看视频| 欧美日韩国产一区在线| 国产乱码午夜在线视频| 精品国产乱码一区二区| 国产婷婷色一区二区三区 | а√天堂中文在线资源8| 精品国产欧美日韩不卡在线观看| 午夜少妇久久久久久久久| 国产视频2区| 国产欧美日韩视频| 激情综合色综合久久| 午夜国产在线视频| 欧美日韩中文字幕在线观看| 欧美日韩亚洲视频| 午夜国产在线视频| 日韩在线 中文字幕| 91亚洲欧美| 亚洲国产www| 中文精品在线观看| 韩日中文字幕第一页| 亚洲国产无线乱码在线观看| 黄色在线播放网站| 久久精品国产91精品亚洲| 中文字幕4区| 国产综合精品在线| 免费高清特黄a大片| 精品区一区二区| 日韩中文在线中文网三级| 最近中文字幕在线中文视频| 欧美日韩国产免费| av一区二区高清| 欧美 日韩 国产 在线观看| 91欧美日韩在线| 久久久久久91| 日韩视频 中文字幕| 欧美日本精品| 中文官网资源新版中文第二页在线观看 | 精品人妻一区二区三区视频| 亚洲一区在线观看网站| 日韩中文字幕二区| 91精品国产综合久久福利| av免费在线网站| 国产黄在线看| 国产日韩在线亚洲字幕中文| 精品久久九九| 欧美日韩国产高清视频| 91九色精品视频| 国产亚洲欧美中文| 精品无人国产偷自产在线| 久精品在线观看| 福利在线国产| 欧美国产一区视频在线观看| 欧美一级久久久久久久久大| 国产乱国产乱300精品| 91精品免费在线观看| 欧美在线视频第一页| 国产一卡2卡3卡四卡网站| 中文字幕2020第一页| 香蕉人人精品| wwwav在线播放| 中文字幕亚洲区| 91精品视频观看| 国产不卡的av| 色综合久久88色综合天天免费| 国产网站欧美日韩免费精品在线观看| 欧美日韩国产一中文字不卡| 午夜视频在线观看一区| 精品不卡一区二区| 亚洲欧洲在线观看av| 日韩精品在线中文字幕| 91av久久久| 国产黄在线看| 日韩欧美亚洲日产国| 日本啊v在线| 国产黄在线播放| 中文字幕欧美人妻精品一区蜜臀| 免费在线亚洲| 欧美日中文字幕| 欧美成人vr18sexvr| 中文字幕在线欧美| 黄色国产网站在线观看| 亚洲成年网站在线观看| 国产精品一区二三区| 日韩精品久久久| 在线综合 亚洲 欧美中文字幕| 另类专区欧美| 在线观看中文字幕一区| 在线一区二区三区精品| 日本啊v在线| 亚洲第一中文字幕| 91精品国产91综合久久蜜臀| 欧美亚洲国产免费| 中文字幕在线观看视频www| 亚洲国产福利视频| 中文字幕在线欧美| 中文在线日韩| 日韩精品免费视频一区二区三区| 欧美中文字幕| 日韩精品乱码av一区二区| 中文在线不卡| 久久久综合精品| 国产三级在线| 亚洲成av人综合在线观看| 中文字幕欧美亚洲| 在线中文免费视频| 欧美在线视频一区二区| 97国产视频| 一二三区精品视频| 精品久久蜜桃| 国产日韩在线亚洲字幕中文| 国产一区免费视频| 中文字幕视频一区二区三区久| 国产婷婷在线观看| 中文字幕在线观看亚洲| 精品人妻一区二区免费视频 | 精品国产99久久久久久| 欧美国产小视频| 在线视频第一页| 国产丝袜在线播放| 免费日韩精品中文字幕视频在线| 日韩手机在线观看视频| 中文精品在线| 三级精品视频| 日韩中文字幕在线视频播放| 国产一卡二卡3卡4卡四卡在线| 国产v日产∨综合v精品视频| 亚洲高清在线观看一区| 精品调教chinesegay| 亚洲综合在线不卡| www中文字幕| 国产日产一区二区三区| 二区视频在线观看| 伊人亚洲视频| 亚洲一区中文| 日韩不卡一二区| 国产最新在线| 欧美日韩乱国产| 国产小视频免费在线观看| 美女黄a一级视频| 欧美日韩成人一区| 欧美日韩中国免费专区在线看| 国产三级中文字幕| 亚洲欧美久久久| 91久久精品午夜一区二区| 中文字幕综合在线| 日韩在线视频在线观看| 久久精品蜜桃| 欧美婷婷精品激情| 欧美另类久久久品| 日本a口亚洲| 日韩视频一区二区在线观看| 欧美国产日韩综合| 91精品国产入口| 美女免费视频一区| 日韩免费精品视频| 亚洲第一视频网站| 欧美亚洲国产日韩2020| 国产在线精品日韩| 日韩欧美国产免费播放| 欧美日韩精品免费| 日韩中文欧美在线| 欧美另类久久久品| 日韩精品在线网站|