zoukankan      html  css  js  c++  java
  • 用swing做一个简单的正则验证工具

    直接上代码吧,因为我对swing也不熟悉,照着API一点点拼出来的。

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class RegExpMatcher {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame("正则表达式匹配器");
    		frame.setSize(350, 150);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    		JPanel panel = new JPanel();
    		JLabel queryStringLabel = new JLabel("匹配字符串:");
    		queryStringLabel.setBounds(10, 20, 80, 25);
    
    		JTextField queryStringText = new JTextField(20);
    		queryStringText.setBounds(100, 20, 165, 25);
    
    		JLabel regExpLabel = new JLabel("正则表达式:");
    		regExpLabel.setBounds(10, 50, 80, 25);
    
    		JTextField regExpText = new JTextField(20);
    		regExpText.setBounds(100, 50, 165, 25);
    
    		JButton matchButton = new JButton("部分匹配");
    		matchButton.setBounds(10, 80, 80, 25);
    		matchButton.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				String queryString = queryStringText.getText().trim();
    				String regExp = regExpText.getText().trim();
    				regExp = regExp.replace("\\", "\");
    				try {
    					Pattern pattern = Pattern.compile(regExp);
    					Matcher matcher = pattern.matcher(queryString);
    					matchButton.setText("" + matcher.find());
    				} catch (Exception e2) {
    					matchButton.setText("error");
    					throw e2;
    				}
    			}
    		});
    
    		JButton matchFullButton = new JButton("完全匹配");
    		matchFullButton.setBounds(100, 100, 80, 25);
    		matchFullButton.addActionListener(new ActionListener() {
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				String queryString = queryStringText.getText().trim();
    				String regExp = regExpText.getText().trim();
    				regExp = regExp.replace("\\", "\");
    				try {
    					Pattern pattern = Pattern.compile(regExp);
    					Matcher matcher = pattern.matcher(queryString);
    					matchFullButton.setText("" + matcher.matches());
    				} catch (Exception e2) {
    					matchFullButton.setText("error");
    					throw e2;
    				}
    			}
    		});
    
    		panel.add(queryStringLabel);
    		panel.add(queryStringText);
    		panel.add(regExpLabel);
    		panel.add(regExpText);
    		panel.add(matchButton);
    		panel.add(matchFullButton);
    
    		frame.add(panel);
    		frame.setVisible(true);
    	}
    }
    

    打包成可执行的jar包,参考http://www.cnblogs.com/xiaoyucoding/p/7683961.html

  • 相关阅读:
    除了被动阅读,用户想要的更多
    腾讯:建造“通天塔”的“帝企鹅”
    网吧里的互联网,在改变Martin和Paul的生活
    “两化融合”物联网应用和架构
    中文信息匮乏年代,新媒体粉墨登场
    互联网天生本质与产业大局的开始
    extjs 4 tree 的text不显示
    一个网上找到的,在Grid中嵌套Grid的示例:Nested Grids Example
    如何编写一个使用Store更新复选框的CheckboxGroup的插件
    Ext JS 4.2.0发布
  • 原文地址:https://www.cnblogs.com/xiaoyucoding/p/7698882.html
Copyright © 2011-2022 走看看