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

  • 相关阅读:
    Codeforces Round 49 C-Minimum Value Rectangle(最小面积周长比)
    牛客网暑假训练第五场——F take(树状数组求概率期望)
    牛客网暑假训练第九场——F-Typing practice(多串并行 优化KMP详解)
    POJ
    牛客网暑假训练第九场——E Music Game(概率期望)
    2018 ACM 国际大学生程序设计竞赛上海大都会赛——J Beautiful Numbers(数位DP)
    牛客网暑假训练第五场——A gpa(01分数规划)
    POJ
    UPC-6623 MUL(最大权闭合子图)
    HDU-6380 degree(图论&并查集)
  • 原文地址:https://www.cnblogs.com/xiaoyucoding/p/7698882.html
Copyright © 2011-2022 走看看