亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? javaviewfactory.java

?? UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
/**
 * (c) 2007 UCS_2008
 *
 * Project    UCS (Ultra Corba Simulator)
 * Subproject CorbaMNQ
 * File       JavaViewFactory.java
 * Created on Sep 13, 2007 by ucs_2008
 *
 * History:
 * Date(Y.M.D) User           Reason (plus CR, LM, Fault number)
 *
 */

package com.corba.mnq.ui.text.java;

import com.corba.mnq.ui.text.SegmentExt;

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
import javax.swing.text.JTextComponent;
import javax.swing.text.PlainView;
import javax.swing.text.Segment;
import javax.swing.text.Utilities;
import javax.swing.text.View;
import javax.swing.text.ViewFactory;

import java.util.HashMap;
import java.util.Map;

/**
 * name: "JavaViewFactory"
 * 
 * @author ucs_2008
 */
public class JavaViewFactory implements ViewFactory {

    public static final String KEYWORD = "keyword";

    public static final String OPERATOR = "operator";

    // public static final String CLASS = "class"; not used anymore
    // since
    // version 1.7.3

    public static final String RESERVED_WORD = "reserved_word";

    private static Map javaSpecialWordsMap;

    public JavaViewFactory() {
        super();
        /**
         * TODO: bisogna invocare un metodo che setta la lista delle
         * classi nel classpath, al momento della colorazione delle
         * parole in checkTextToComment si JavaDocument (bisogna
         * valutare se si deve passare qualcosa di EJEArea in
         * JavaDocument o viceversa)
         */
        // URL classListURL =
        // getClass().getResource("/resources/classlist.txt");
        // if (keywordMap == null)
        // keywordMap = getJavaSpecialWordsMap(classListURL);
        getJavaSpecialWordsMap();
    }

    public static Map getJavaSpecialWordsMap() {
        javaSpecialWordsMap = new HashMap();
        javaSpecialWordsMap.put("abstract", KEYWORD);
        javaSpecialWordsMap.put("assert", KEYWORD);
        javaSpecialWordsMap.put("boolean", KEYWORD);
        javaSpecialWordsMap.put("break", KEYWORD);
        javaSpecialWordsMap.put("byte", KEYWORD);
        javaSpecialWordsMap.put("case", KEYWORD);
        javaSpecialWordsMap.put("catch", KEYWORD);
        javaSpecialWordsMap.put("char", KEYWORD);
        javaSpecialWordsMap.put("class", KEYWORD);
        javaSpecialWordsMap.put("const", RESERVED_WORD);
        javaSpecialWordsMap.put("continue", KEYWORD);
        javaSpecialWordsMap.put("default", KEYWORD);
        javaSpecialWordsMap.put("do", KEYWORD);
        javaSpecialWordsMap.put("double", KEYWORD);
        javaSpecialWordsMap.put("else", KEYWORD);
        String version = System.getProperty("java.version");
        if (version.startsWith("1.5")) {
            javaSpecialWordsMap.put("enum", KEYWORD);
            javaSpecialWordsMap.put(((char) 64 + "interface"), KEYWORD);
            // is simboli non funzionano!
        }
        javaSpecialWordsMap.put("extends", KEYWORD);
        javaSpecialWordsMap.put("false", KEYWORD);
        javaSpecialWordsMap.put("final", KEYWORD);
        javaSpecialWordsMap.put("finally", KEYWORD);
        javaSpecialWordsMap.put("float", KEYWORD);
        javaSpecialWordsMap.put("for", KEYWORD);
        javaSpecialWordsMap.put("goto", RESERVED_WORD);
        javaSpecialWordsMap.put("if", KEYWORD);
        javaSpecialWordsMap.put("implements", KEYWORD);
        javaSpecialWordsMap.put("import", KEYWORD);
        javaSpecialWordsMap.put("instanceof", KEYWORD);
        javaSpecialWordsMap.put("int", KEYWORD);
        javaSpecialWordsMap.put("interface", KEYWORD);
        javaSpecialWordsMap.put("long", KEYWORD);
        javaSpecialWordsMap.put("native", KEYWORD);
        javaSpecialWordsMap.put("new", KEYWORD);
        javaSpecialWordsMap.put("null", KEYWORD);
        javaSpecialWordsMap.put("package", KEYWORD);
        javaSpecialWordsMap.put("private", KEYWORD);
        javaSpecialWordsMap.put("protected", KEYWORD);
        javaSpecialWordsMap.put("public", KEYWORD);
        javaSpecialWordsMap.put("return", KEYWORD);
        javaSpecialWordsMap.put("short", KEYWORD);
        javaSpecialWordsMap.put("static", KEYWORD);
        javaSpecialWordsMap.put("strictfp", KEYWORD);
        javaSpecialWordsMap.put("super", KEYWORD);
        javaSpecialWordsMap.put("switch", KEYWORD);
        javaSpecialWordsMap.put("synchronized", KEYWORD);
        javaSpecialWordsMap.put("this", KEYWORD);
        javaSpecialWordsMap.put("throw", KEYWORD);
        javaSpecialWordsMap.put("throws", KEYWORD);
        javaSpecialWordsMap.put("transient", KEYWORD);
        javaSpecialWordsMap.put("true", KEYWORD);
        javaSpecialWordsMap.put("try", KEYWORD);
        javaSpecialWordsMap.put("void", KEYWORD);
        javaSpecialWordsMap.put("volatile", KEYWORD);
        javaSpecialWordsMap.put("while", KEYWORD);

        /*
         * if (classListURL != null) try { BufferedReader in = new
         * BufferedReader(new InputStreamReader(
         * classListURL.openStream())); String className; while
         * ((className = in.readLine()) != null)
         * javaSpecialWordsMap.put(className, CLASS); } catch
         * (Exception e) { e.printStackTrace(); }
         */
        return javaSpecialWordsMap;
    }

    public View create(Element elem) {
        return new JavaView(elem);
    }

    class JavaView extends PlainView {

        public JavaView(Element elem) {
            super(elem);
        }

        protected int drawUnselectedText(Graphics g, int x, int y, int startOffset, int endOffset)
                throws BadLocationException {
            int length = (endOffset < getDocument().getLength() ? endOffset : getDocument()
                    .getLength())
                    - startOffset;
            return scanParagraph(g, x, y, startOffset, length);
        }

        private boolean isParagraphInComment(int startOffset) {
            if (startOffset > 0) {
                Element root = getDocument().getDefaultRootElement();
                Element previousElement = root.getElement(root.getElementIndex(startOffset - 1));
                if (previousElement.getAttributes().containsAttribute(
                        JavaDocument.MULTILINE_COMMENT, JavaDocument.MULTILINE_COMMENT))
                    return true;
            }
            return false;
        }

        private int scanParagraph(Graphics g, int x, int y, int startPosition, int length)
                throws BadLocationException {
            SegmentExt content = new SegmentExt();
            JTextComponent host = (JTextComponent) getContainer();

            getDocument().getText(startPosition, length, content);
            boolean inComment = isParagraphInComment(startPosition);
            for (int wordIndex = 0; wordIndex < content.length();) {
                char indexedChar = content.charAt(wordIndex);

                if (Character.isJavaIdentifierStart(indexedChar) && !inComment) {
                    String scannedIdentifier = scanIdentifier(content, wordIndex);
                    String tokenType = (String) javaSpecialWordsMap.get(scannedIdentifier);
                    int scannedIdentifierLength = scannedIdentifier.length();

                    Color color = getColorForTokenType(tokenType);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedIdentifierLength, text);
                    g.setColor(color);
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedIdentifierLength;
                } else if (Character.isDigit(indexedChar) && !inComment) {
                    String scannedNumericLiteral = scanNumericLiteral(content, wordIndex);

                    int scannedNumericLiteralLength = scannedNumericLiteral.length();

                    Color color = (Color) host
                            .getClientProperty(JavaTextEditor.NUMERIC_LITERAL_COLOR);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedNumericLiteralLength,
                            text);
                    g.setColor(color);
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedNumericLiteralLength;
                } else if (indexedChar == '\"' && !inComment) {
                    int scannedStringLength = scanStringLiteral(content, wordIndex);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedStringLength, text);
                    g.setColor((Color) host.getClientProperty(JavaTextEditor.STRING_LITERAL_COLOR));
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedStringLength;
                } else if (indexedChar == '\'' && !inComment) {
                    int scannedCharLength = scanCharLiteral(content, wordIndex);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedCharLength, text);
                    g.setColor((Color) host.getClientProperty(JavaTextEditor.CHAR_LITERAL_COLOR));
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedCharLength;
                } else if (isSingleLineCommentStart(content, wordIndex) && !inComment) {
                    int scannedCommentLength = scanSingleLineComment(content, wordIndex);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedCommentLength, text);
                    g.setColor((Color) host
                            .getClientProperty(JavaTextEditor.SINGLE_LINE_COMMENT_COLOR));
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedCommentLength;
                } else if (isMultiLineCommentEnd(content, wordIndex) && inComment) {
                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, 2, text);
                    g.setColor((Color) host
                            .getClientProperty(JavaTextEditor.MULTI_LINE_COMMENT_COLOR));
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    inComment = false;
                    wordIndex = wordIndex + 2;
                } else if (isMultiLineCommentStart(content, wordIndex)) {
                    int scannedCommentLength = scanMultiLineComment(content, wordIndex);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, scannedCommentLength, text);
                    g.setColor((Color) host
                            .getClientProperty(JavaTextEditor.MULTI_LINE_COMMENT_COLOR));
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + scannedCommentLength;
                    // } else if (isClass(indexedChar, wordIndex) &&
                    // !inComment)
                    // {
                    // Color color = (Color) host
                    // .getClientProperty(EJEArea.COMMON_WORD_COLOR);
                    //
                    // Segment text = getLineBuffer();
                    // getDocument().getText(startPosition +
                    // wordIndex, 1,
                    // text);
                    // g.setColor(color);
                    // x = Utilities.drawTabbedText(text, x, y, g,
                    // this,
                    // startPosition + wordIndex);
                    //
                    // wordIndex = wordIndex + 1;
                } else if (isOperator(indexedChar) && !inComment) {
                    Color color = (Color) host.getClientProperty(JavaTextEditor.OPERATOR_COLOR);

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, 1, text);
                    g.setColor(color);
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);

                    wordIndex = wordIndex + 1;
                } else {
                    Color color;
                    if (inComment)
                        color = (Color) host
                                .getClientProperty(JavaTextEditor.MULTI_LINE_COMMENT_COLOR);
                    else
                        color = host.getForeground();

                    Segment text = getLineBuffer();
                    getDocument().getText(startPosition + wordIndex, 1, text);
                    g.setColor(color);
                    x = Utilities.drawTabbedText(text, x, y, g, this, startPosition + wordIndex);
                    wordIndex++;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产福利在线观看| 天天做天天摸天天爽国产一区| 久久国产乱子精品免费女| 欧美日精品一区视频| 亚洲黄色免费电影| 欧美日韩高清一区二区三区| 午夜精品久久一牛影视| 欧美一级淫片007| 国产呦精品一区二区三区网站| 国产亚洲美州欧州综合国| 成人听书哪个软件好| 国产精品久久久久桃色tv| 色88888久久久久久影院按摩| 亚洲综合免费观看高清完整版| 欧美美女黄视频| 国模无码大尺度一区二区三区| 中文字幕欧美激情| 欧美性大战xxxxx久久久| 天天操天天色综合| 久久久久国产精品麻豆| 色综合中文字幕| 奇米影视一区二区三区小说| 国产午夜精品一区二区三区四区| 色综合天天综合| 青青草一区二区三区| 中文字幕乱码一区二区免费| 在线精品亚洲一区二区不卡| 欧美丝袜自拍制服另类| 奇米精品一区二区三区在线观看 | 激情综合色播激情啊| 国产精品视频一区二区三区不卡| 日本道在线观看一区二区| 久久成人免费日本黄色| 1区2区3区欧美| 久久亚洲综合色| 欧日韩精品视频| 成人激情动漫在线观看| 日韩精品三区四区| 中文字幕亚洲成人| 欧美zozo另类异族| 欧美无砖砖区免费| 成人黄色一级视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧洲国产专区| 久久久精品一品道一区| 欧美视频在线播放| 成人国产精品免费观看| 蜜桃视频一区二区| 无码av中文一区二区三区桃花岛| 亚洲视频在线一区观看| 久久蜜臀精品av| 日韩一级视频免费观看在线| 在线一区二区视频| 91欧美一区二区| 国产成人自拍高清视频在线免费播放| 亚洲3atv精品一区二区三区| 国产精品国产三级国产普通话蜜臀 | 欧美三级日韩三级| 91免费在线看| av中文字幕在线不卡| 国产资源精品在线观看| 久久爱另类一区二区小说| 亚洲成人久久影院| 亚洲一区二区三区国产| 亚洲同性同志一二三专区| 国产视频一区在线播放| 久久―日本道色综合久久| 欧美大胆人体bbbb| 日韩女优av电影在线观看| 91精品国产91热久久久做人人| 在线观看国产精品网站| 91极品美女在线| 色播五月激情综合网| 色哟哟一区二区在线观看| 99久久国产综合精品麻豆| 成人动漫av在线| 99久久99久久久精品齐齐| 99riav久久精品riav| 色综合天天性综合| 欧美优质美女网站| 在线观看亚洲a| 欧美色爱综合网| 欧美日韩精品电影| 欧美一区二区三区在线视频| 日韩亚洲欧美在线观看| 精品粉嫩超白一线天av| 久久久五月婷婷| 中文无字幕一区二区三区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 中文字幕人成不卡一区| 中文字幕一区日韩精品欧美| 亚洲区小说区图片区qvod| 一区二区三区四区在线| 午夜电影网亚洲视频| 免费看日韩精品| 精品一二三四在线| 成人少妇影院yyyy| 91久久香蕉国产日韩欧美9色| 精品视频在线免费观看| 日韩无一区二区| 国产精品网站一区| 亚洲主播在线播放| 久久国产剧场电影| caoporm超碰国产精品| 7777精品伊人久久久大香线蕉超级流畅 | 日本欧美一区二区三区乱码| 国内精品伊人久久久久av一坑 | 成人综合日日夜夜| 色悠久久久久综合欧美99| 6080国产精品一区二区| 精品99久久久久久| 一区二区三区日韩欧美| 久久精品av麻豆的观看方式| 成人午夜激情在线| 欧美肥妇bbw| 国产精品久久久久久久浪潮网站| 亚洲高清免费在线| 国产高清亚洲一区| 欧美人与禽zozo性伦| 国产欧美视频一区二区| 亚州成人在线电影| 成人黄色免费短视频| 欧美一区二区三区免费在线看 | 91福利社在线观看| 精品国产伦理网| 午夜精品爽啪视频| 99热国产精品| 欧美xxxxx裸体时装秀| 亚洲私人黄色宅男| 国产一区二区电影| 精品视频一区二区三区免费| 亚洲国产精品ⅴa在线观看| 视频一区免费在线观看| 95精品视频在线| 久久一留热品黄| 亚洲成人在线免费| 99re在线视频这里只有精品| 亚洲精品在线网站| 午夜成人免费视频| 在线视频国内自拍亚洲视频| 国产网站一区二区三区| 免费美女久久99| 69堂成人精品免费视频| 亚洲欧美另类久久久精品| 高潮精品一区videoshd| 26uuu精品一区二区在线观看| 天天综合天天综合色| 欧洲国内综合视频| 亚洲久草在线视频| 99精品热视频| 欧美国产乱子伦| 国产一区二区影院| 精品国产免费一区二区三区香蕉| 婷婷亚洲久悠悠色悠在线播放| 欧美亚洲综合色| 亚洲图片自拍偷拍| 欧美亚洲一区二区在线| 亚洲狼人国产精品| 色天天综合色天天久久| 国产精品成人一区二区三区夜夜夜| 国产精品一区久久久久| 精品国产凹凸成av人导航| 精品一区二区三区免费播放 | 久久久久久毛片| 国内精品在线播放| 久久久99免费| 国产成人免费在线视频| 久久久欧美精品sm网站| 国产电影精品久久禁18| 亚洲国产高清在线| 99久久免费精品| 一区二区三区精品视频| 在线观看国产一区二区| 丝袜亚洲精品中文字幕一区| 欧美电影影音先锋| 久久91精品国产91久久小草| 精品久久久久久无| 国产精品夜夜爽| 中文字幕在线不卡视频| 色婷婷av一区二区三区gif| 亚洲综合免费观看高清完整版在线 | 偷偷要91色婷婷| 欧美一级黄色录像| 国产成人免费av在线| 国产精品家庭影院| 在线观看亚洲精品| 麻豆一区二区99久久久久| 久久久久久免费| 色综合欧美在线视频区| 首页亚洲欧美制服丝腿| 久久蜜臀精品av| 色久综合一二码| 日本午夜精品视频在线观看| 久久久久久免费| 91高清在线观看| 久久国产婷婷国产香蕉| 国产精品国产三级国产普通话99| 色狠狠桃花综合| 激情五月激情综合网| 亚洲图片另类小说|