Editbox之三个框框

自重装系统后,电脑中两个版本的eclipse都驾崩了,起个VS也要花费半年的时间(观赏收费),所以就运用已有的工具STS编了代码,不能用JavaFX很是遗憾,只能在网上找了代码,自己修改后完成了测试。

1. 基本等价类的划分

有效等价类 无效等价类
长度:1到6 长度:0,7
字符:a-z,A-Z,0-9  字符:英文/数字以外字符,控制字符,标点符号

 2. 测试用例

编号 test1 test2 test3 输出
1         12345      asdfg  ert234  true,true,true  
2 1234567 123 ert false,true,true
3 123@ 123 ert false,true,true
4 123 ert false,true,true

5

123, 123 ert false,true,true

按理说应该同时测试各个test(i)为假的情况,但以经验而谈,情况是一样的,就不做脱裤子放屁的事了。

3. 代码如下

package editbox;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class test {
	public static void main(String[] args) {		
    	MFrame frame = new MFrame();			
    	}
	}
	class MFrame extends JFrame{	
		public MFrame(){		
			JLabel jl = new JLabel("Editbox",SwingUtilities.CENTER);		
			Font font = new Font("宋体",Font.BOLD,24);		
			jl.setFont(font);		
			jl.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));				
			this.add(jl,BorderLayout.NORTH);
			font = new Font("宋体",Font.PLAIN,12);
			
			JLabel jl_name = new JLabel("test1:",SwingUtilities.RIGHT);		
			jl_name.setFont(font);						
			JLabel jl_pass1 = new JLabel("test2:",SwingUtilities.RIGHT);		
			jl_pass1.setFont(font);				
			JLabel jl_pass2 = new JLabel("test3:",SwingUtilities.RIGHT);		
			jl_pass2.setFont(font);				
							
			JPanel jp_center_left = new JPanel();				
			jp_center_left.setLayout(new GridLayout(5,1));		
			jp_center_left.add(jl_name);		
			jp_center_left.add(jl_pass1);		
			jp_center_left.add(jl_pass2);		
							
			JTextField jt_name = new JTextField();				
			JTextField jt_pass1 = new JTextField();		
			JTextField jt_pass2 = new JTextField();	

			JPanel jp_center_right = new JPanel();		
			jp_center_right.setLayout(new GridLayout(5,1));		
			jp_center_right.add(jt_name);		
			jp_center_right.add(jt_pass1);		
			jp_center_right.add(jt_pass2);						
			JPanel jp_center = new JPanel();		
			jp_center.setLayout(new GridLayout(1,2));		
			jp_center.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 60));		
			jp_center.add(jp_center_left);		
			jp_center.add(jp_center_right);				
			JButton jb1 = new JButton("OK");		
			
			jb1.addMouseListener(new MouseAdapter(){
				boolean result = true;
	            public void mouseClicked(MouseEvent e){
	                String []str = new String[3];
	    			for(int i = 0; i<3; i++){
	    				str[i]= new String();
	    			}
	    			str[0] = jt_name.getText();
	    			str[1] = jt_pass1.getText();
	    			str[2] = jt_pass2.getText();
	    			for(int i =0;i<3;i++){
	    				result = true;
	    				if(str[i].length() >0 && str[i].length()<7){
	    					for(int j =str[i].length()-1;j>=0;j--){
	    						if(!Character.isDigit((str[i].charAt(j)))&&!Character.isLetter(str[i].charAt(j))) {
	                                result = false;
	                                break;                            
	                            }
	    					}
	    				}
	    				else {
	                        result = false;
	                    }
	    				System.out.println(str[i]);
	    				System.out.println(result);
	    			}
	            }
	        });       
			
			JPanel jp_south = new JPanel();		
			jp_south.add(jb1);			
			jp_south.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));		
			this.add(jp_center);		
			this.add(jp_south,BorderLayout.SOUTH);				
			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
			this.setVisible(true);		this.setSize(370, 280);		
			this.setResizable(false);		
			this.setLocationRelativeTo(null);	
		}	 
}

 4. 结果截图

 

 

posted @ 2015-03-29 17:17  keeps_you_warm  阅读(206)  评论(0编辑  收藏  举报