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

📄 reapplet.java

📁 代码是一个分类器的实现,其中使用了部分weka的源代码。可以将项目导入eclipse运行
💻 JAVA
字号:
/* *  gnu/regexp/util/REApplet.java *  Copyright (C) 1998 Wes Biggs * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published *  by the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package gnu.regexp.util;import java.applet.*;import java.awt.*;import gnu.regexp.*;/** * This is a simple applet to demonstrate the capabilities of gnu.regexp. * To run it, use appletviewer on the reapplet.html file included in the * documentation directory. * * @author <A HREF="mailto:wes@cacas.org">Wes Biggs</A> * @version 1.02 */public class REApplet extends Applet {    private Label l1, l2, l3, l4;    private Button b;    private TextField tf;    private TextArea input, output;    private Checkbox insens;    private Choice syntax;    private static String[] names = new String[] { 	"awk", "ed", "egrep", "emacs", "grep", "POSIX awk", "POSIX basic", 	"POSIX egrep", "POSIX extended", "POSIX minimal basic", 	"POSIX minimal extended", "sed", "perl 4", "perl 4 (singe line)", 	"perl 5", "perl 5 (single line)"     };    private static RESyntax[] values = new RESyntax[] { 	new RESyntax(RESyntax.RE_SYNTAX_AWK).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_ED).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_EGREP).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_EMACS).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_GREP).setLineSeparator("\n"),	new RESyntax(RESyntax.RE_SYNTAX_POSIX_AWK).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_POSIX_BASIC).setLineSeparator("\n"),	new RESyntax(RESyntax.RE_SYNTAX_POSIX_EGREP).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_POSIX_EXTENDED).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_POSIX_MINIMAL_BASIC).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_POSIX_MINIMAL_EXTENDED).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_SED).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_PERL4).setLineSeparator("\n"),	new RESyntax(RESyntax.RE_SYNTAX_PERL4_S).setLineSeparator("\n"), 	new RESyntax(RESyntax.RE_SYNTAX_PERL5).setLineSeparator("\n"),	new RESyntax(RESyntax.RE_SYNTAX_PERL5_S).setLineSeparator("\n")    };    /** Creates an REApplet. */    public REApplet() { super(); }        /** Initializes the applet and constructs GUI elements. */    public void init() {	// test run RE stuff to cache gnu.regexp.* classes.	try {	    RE x = new RE("^.*(w[x])\1$");	    REMatchEnumeration xx = x.getMatchEnumeration("wxwx");	    while (xx.hasMoreMatches()) xx.nextMatch().toString();	} catch (REException arg) { }		setBackground(Color.lightGray);		/*	  Layout looks like this:	  	  [0,0:[0,0: Regular Expression] [1,0: Textbox]	  [0,1: Expression Syntax]  [1,1: [0,0: Choice] [1,0: Checkbox]]	  [1,2: Button]]	  [0,1: Input Text] [1,1: Match]	  [0,2: Textarea]   [1,2: Textarea]	*/		GridBagLayout gbag = new GridBagLayout();	setLayout(gbag);	GridBagConstraints c = new GridBagConstraints();	Panel p = new Panel();	GridBagLayout gbag2 = new GridBagLayout();	p.setLayout(gbag2);		c.anchor = GridBagConstraints.WEST;	c.weightx = 1.0;		// [0,0: Regular Expression]	c.gridx = 0;	c.gridy = 0;	l1 = new Label("Regular Expression");	gbag2.setConstraints(l1,c);	p.add(l1);		// [1,0: TextField]	c.gridx = 1;	tf = new TextField(getParameter("regexp"),30);	gbag2.setConstraints(tf,c);	p.add(tf);		// [0,1: Expression Syntax]	c.gridx = 0;	c.gridy = 1;	l4 = new Label("Expression Syntax");	gbag2.setConstraints(l4,c);	p.add(l4);		// [1,1: subpanel]	Panel p2 = new Panel();	GridBagLayout gbag3 = new GridBagLayout();	p2.setLayout(gbag3);	c.gridx = 1;	gbag2.setConstraints(p2,c);	p.add(p2);		// Subpanel [0,0: Choice]	c.gridx = 0;	c.gridy = 0;	syntax = new Choice();	for (int i = 0; i < names.length; i++) syntax.addItem(names[i]);	String zz = getParameter("syntax");	if (zz != null) {	    try {		syntax.select(getParameter("syntax"));	    } catch (IllegalArgumentException e) { }	}	gbag3.setConstraints(syntax,c);	p2.add(syntax);        	c.gridx = 1;	insens = new Checkbox("Ignore case",false);	gbag3.setConstraints(insens,c);	p2.add(insens);		// Next Row	c.gridx = 1;	c.gridy = 2;	b = new Button("Match");	gbag2.setConstraints(b,c);	p.add(b);		// Add the entire upper panel.	c.gridwidth = 2;	c.gridheight = 1;	c.gridx = 0;	c.gridy = 0;	c.anchor = GridBagConstraints.CENTER;	gbag.setConstraints(p,c);	add(p);		c.gridwidth = 1;	c.gridheight = 1;		// Main: [0,1]:	l2 = new Label("Input Text");	c.gridwidth = 1;	c.gridx = 0;	c.gridy = 1;	gbag.setConstraints(l2,c);	add(l2);		l3 = new Label("Matches Found");	c.gridx = 1;	gbag.setConstraints(l3,c);	add(l3);		input = new TextArea(getParameter("input"),5,30);	c.gridx = 0;	c.gridy = 2;	gbag.setConstraints(input,c);	add(input);		c.gridx = 1;	output = new TextArea(5,30);	output.setEditable(false);	c.gridwidth = GridBagConstraints.REMAINDER;	gbag.setConstraints(output,c);	add(output);    }        /**     * Handles events in the applet.  Returns true if the indicated event     * was handled, false for all other events.     */    public boolean action(Event e, Object arg) {	Object target = e.target;		if (target == b) { // match	    try {		String expr = tf.getText();		RE reg = null;		RESyntax res = values[syntax.getSelectedIndex()];		reg = new RE(expr,insens.getState() ? RE.REG_ICASE | RE.REG_MULTILINE : RE.REG_MULTILINE, res);		REMatchEnumeration en = reg.getMatchEnumeration(input.getText());		StringBuffer sb = new StringBuffer();		int matchNum = 0;		while (en.hasMoreMatches()) {		    sb.append(String.valueOf(++matchNum));		    sb.append(". ");		    sb.append(en.nextMatch().toString());		    sb.append('\n');		}		output.setText(sb.toString());	    } catch (REException err) { 		output.setText("Expression compilation error: " + err.getMessage());	    }	return true;	} else return false;    }}

⌨️ 快捷键说明

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