Editbox之三个框框

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

1. 基本等价类的划分

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

 2. 测试用例

编号test1test2test3输出
1        12345     asdfg ert234 true,true,true  
21234567123ertfalse,true,true
3123@123ertfalse,true,true
4123ertfalse,true,true

5

123,123ertfalse,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. 结果截图

 

 

转载于:https://www.cnblogs.com/dulun/p/4375929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值