⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javatext.java

📁 的说法科斯洛伐路上看到伐楼上的开发1科林麦克;
💻 JAVA
字号:
package org.loon.framework.ide.test;
/**
 * <p>Title: LoonFramework</p>
 * <p>Description:</p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: LoonFramework</p>
 * @author chenpeng  
 * @email:ceponline@yahoo.com.cn 
 * @version 0.1
 */
import java.awt.Color;
import javax.swing.JTextPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;

public class JavaText extends JTextPane
    implements HyperlinkListener
{

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public JavaText()
    {
    }

    public void setMark(Color acolor[])
    {
        deleteCode("\r");
        String s = getText();
        KeywordTokenizer mystringtokenizer = new KeywordTokenizer(s, acolor[2], acolor[3]);
        setBackground(acolor[0]);
        setForeground(acolor[1]);
        for(int i = 0; i < mystringtokenizer.length(); i++)
        {
            String s1 = mystringtokenizer.getToken(i);
            int j = mystringtokenizer.getIndex(i);
            select(j, j + s1.length());
            SimpleAttributeSet simpleattributeset = new SimpleAttributeSet();
            StyleConstants.setForeground(simpleattributeset, mystringtokenizer.getColor(i));
            try
            {
                setCharacterAttributes(simpleattributeset, true);
            }
            catch(Exception exception) { }
        }

        setColor(s, acolor[5], "/*", "*/", "*/");
        setColor(s, acolor[5], "//", "\n", "\n");
        setColor(s, acolor[4], "\"", "\"", "\n");
        select(0, 0);
    }

    public void setColor(String s, Color color, String s1, String s2, String s3)
    {
        int i = s.length();
        int j = s1.length();
        int k = s2.length();
        int l = s3.length();
        boolean flag = false;
        boolean flag1 = false;
        int i1 = 0;
        try
        {
            for(int j1 = 0; j1 < i; j1++)
                if(j1 < i - 2 && s.substring(j1, j1 + 2).equals("\\\\"))
                {
                    j1++;
                    flag1 = true;
                } else
                {
                    if(!flag)
                    {
                        if((j1 < 1 || flag1 || !s.substring(j1 - 1, j1).equals("\\")) && s.substring(j1, j1 + j).equals(s1))
                        {
                            flag = true;
                            i1 = j1;
                        }
                    } else
                    if((s.substring(j1, j1 + k).equals(s2) || s.substring(j1, j1 + l).equals(s3)) && (j1 < 1 || flag1 || !s.substring(j1 - 1, j1).equals("\\")))
                    {
                        int k1;
                        if(s.substring(j1, j1 + k).equals(s2))
                            k1 = k;
                        else
                            k1 = l;
                        flag = false;
                        select(i1, j1 + k1);
                        SimpleAttributeSet simpleattributeset1 = new SimpleAttributeSet();
                        StyleConstants.setForeground(simpleattributeset1, color);
                        try
                        {
                            setCharacterAttributes(simpleattributeset1, true);
                        }
                        catch(Exception exception2) { }
                    }
                    flag1 = false;
                }

        }
        catch(Exception exception) { }
        if(flag)
        {
            select(i1, i);
            SimpleAttributeSet simpleattributeset = new SimpleAttributeSet();
            StyleConstants.setForeground(simpleattributeset, color);
            try
            {
                setCharacterAttributes(simpleattributeset, true);
            }
            catch(Exception exception1) { }
        }
    }

    public void deleteCode(String s)
    {
        StringBuffer stringbuffer = new StringBuffer(getText());
        for(int i = stringbuffer.length() - 1; i >= 0; i--)
            if(stringbuffer.substring(i, i + s.length()).equals(s))
                stringbuffer.delete(i, i + s.length());

        setText(stringbuffer.toString());
    }

    public void setCursor(int i)
    {
        String s = getText();
        int j = 0;
        int k = 0;
        for(k = 0; j < i - 1 && k < s.length(); k++)
            if(s.substring(k, k + 1).equals("\n"))
                j++;

        if(k < s.length())
            setCaretPosition(k);
        else
            setCaretPosition(s.length() - 1);
    }

    public void insertCode(String s)
    {
        StringBuffer stringbuffer = new StringBuffer(getText());
        for(int i = stringbuffer.length() - 1; i >= 0; i--)
            if(stringbuffer.substring(i, i + s.length()).equals("\n"))
                stringbuffer.insert(i, s);

        setText(stringbuffer.toString());
    }

    public void setURL(String s)
    {
        setEditable(false);
        addHyperlinkListener(this);
        try
        {
            setPage(s);
        }
        catch(Exception exception) { }
        setContentType("text/html");
    }

    public void hyperlinkUpdate(HyperlinkEvent hyperlinkevent)
    {
        if(hyperlinkevent.getEventType() == javax.swing.event.HyperlinkEvent.EventType.ACTIVATED)
            try
            {
                setPage(hyperlinkevent.getURL());
            }
            catch(Throwable throwable) { }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -