大刀忽悠(JTextFile输入验证);

没意思的博客 =.=...好象是我的一人世界!!!

效果图:


源码: (我都快没隐私了!!)

package TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;

public class IncrementalSearch 
    
implements DocumentListener, ActionListener {

    
protected JTextComponent content;
    
    
public IncrementalSearch(JTextComponent comp) {
        
this.content = comp;
    }


    
public void insertUpdate(DocumentEvent evt) {
        runNewSearch(evt.getDocument());
    }

    
public void removeUpdate(DocumentEvent evt) {
        runNewSearch(evt.getDocument());
    }

    
public void changedUpdate(DocumentEvent evt) {
        runNewSearch(evt.getDocument());
    }


    protected Matcher matcher;

    
private void runNewSearch(Document query_doc) {
        
try {
            String query 
= query_doc.getText(0,query_doc.getLength());
            Pattern pattern = Pattern.compile(query);
            Document content_doc 
= content.getDocument();
            String body 
= content_doc.getText(0,content_doc.getLength());

            continueSearch();

        }
 catch (Exception ex) {
            ex.printStackTrace();

        }
 
    }

    
private void continueSearch() {
        
if(matcher != null{
            
if(matcher.find()) {            
                content.getCaret().setDot(matcher.start());         
                content.getCaret().moveDot(matcher.end());
                content.getCaret().setSelectionVisible(
true);
            }

        }

        }

    
public void actionPerformed(ActionEvent evt) {    
        continueSearch(); 
    }
 
    public static void main(String[] args) {
        JTextArea text_area 
= new JTextArea(10,20);
        JScrollPane scroll 
= new JScrollPane(text_area);
        IncrementalSearch isearch 
= new IncrementalSearch(text_area);
   
        JTextField search_field 
= new JTextField();    
        search_field.getDocument().addDocumentListener(isearch); 
        search_field.addActionListener(isearch);

        JFrame frame 
= new JFrame("Swing交流群:22069957");
        frame.getContentPane().add(
"North",search_field);
        frame.getContentPane().add(
"Center",scroll);
        frame.pack();
        frame.show();
    }

}







posted on 2008-05-30 01:26 相信 阅读(822) 评论(4)  编辑  收藏 所属分类: Swing文章

评论

# re: 大刀忽悠(JTextFile输入验证); 2008-05-30 02:32 晴天

看来对于标题你是江郎才尽了,还有什么刀舞出来吧.
捡个沙发慢慢看  回复  更多评论   

# re: 大刀忽悠(JTextFile输入验证); 2008-07-20 23:45 黑色

不是别人不回帖 主要是大多都是看不懂的..

进来一下就走了...

其实你在写这些东西的时候学到的东西才是最主要的嘛..

  回复  更多评论   

# re: 大刀忽悠(JTextFile输入验证); 2008-07-25 11:57 mocake

呵呵!!
希望能交流以下Java3D
先谢过!!  回复  更多评论   

# re: 大刀忽悠(JTextFile输入验证); 2008-07-25 15:04 相信

当然..以后大家互相讨论 互相帮助..互相学习...  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

公告

不显示applet

常用链接

留言簿(16)

我参与的团队

随笔档案

文章分类

文章档案

新闻档案

相册

swingchina 专业搞Swing的网站

搜索

最新评论

阅读排行榜

评论排行榜