`
zeyuphoenix
  • 浏览: 59846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Swing入力检查

阅读更多
/**
 * JTextField input Check
 * 
 * @author shuai.zhang
 */
public class InputCheck extends KeyAdapter {

	/**
	 * check is none.
	 */
	public static final int NONE = 0;

	/**
	 * number check.
	 */
	public static final int NUMBER = 1;

	/**
	 * half char check.
	 */
	public static final int HALF = 2;

	/**
	 * all char check.
	 */
	public static final int ALL = 3;

	/**
	 * UID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * input length.
	 */
	private int length = 0;

	/**
	 * about the input type.
	 */
	private int _judgeType = NONE;

	/**
	 * JTextField
	 */
	private JTextField jTextField = null;

	/**
	 * 
	 * @param jTextField
	 *            JTextField
	 * @param length
	 *            input length.
	 * @param judgeType
	 *            check type.
	 */
	public InputCheck(JTextField jTextField, int length, int judgeType) {
		this.jTextField = jTextField;
		this.length = length;
		this._judgeType = judgeType;
	}

	/**
	 * action.
	 * 
	 * @param e
	 *            event.
	 */
	public void keyTyped(KeyEvent e) {

		String input = String.valueOf(e.getKeyChar());
		boolean flag = false;
		// first check length.
		flag = lengthJudge(
				length,
				(jTextField.getText().getBytes().length + input.getBytes().length));

		switch (_judgeType) {
		case NONE:
			// about none.
			break;
		case NUMBER:
			// about number.
			flag = flag && input.matches("\\d");
			break;
		case HALF:
			// about half char.
			flag = (flag && (input.getBytes().length == 1 ? true : false));
			break;
		case ALL:
			// about all char.
			flag = (flag && (input.getBytes().length == 1 ? false : true));
			break;
		}

		if (!flag) {
			e.consume();
		}
	}

	/**
	 * length check.
	 * 
	 * @param formatLength
	 *            set length
	 * @param inputLength
	 *            input length
	 */
	private boolean lengthJudge(int formatLength, int inputLength) {
		return formatLength >= inputLength ? true : false;
	}

}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Swing实现半透明窗口的Sample

    Swing是Java编程语言中用于构建图形用户界面(GUI)的一个工具包,它提供了丰富的组件和功能,使得开发者能够创建出复杂且用户友好的应用...通过这样的技术,开发者可以为应用程序增添更多视觉吸引力,提升用户体验。

    swing的外观包集合,有4个jar

    同时,需要注意的是,更换LookAndFeel可能会影响某些组件的行为,因此在实际应用中,测试和兼容性检查是必不可少的。 51CTO下载的这个Java Swing外观包集合,对于需要创建具有独特风格的Swing应用的开发者来说,是...

    Swing的border使用

    `Border`接口定义了几个方法,如`getBorderInsets()`用于获取边框的内嵌尺寸,`isOpaque()`检查边框是否不透明,以及`paintBorder()`绘制边框。 Swing提供了多种内置的边框实现,包括: 1. `EmptyBorder`: 创建一...

    JavaSwing+mysql 登录页面

    Swing提供了一套丰富的组件类,如JFrame(主窗口)、JLabel(标签)、JTextField(文本框)和JButton(按钮),通过这些组件,开发者可以构建出具有视觉吸引力且功能齐全的用户界面。 连接到MySQL数据库是此项目的...

    即时聊天程序java socket swing

    在本例中,开发者可以在 NetBeans 中创建和运行服务器端和客户端程序,利用其强大的调试工具检查代码执行过程,查找并修复潜在的问题。 总的来说,通过结合 Java Socket 的网络通信功能和 Swing 的 GUI 设计,我们...

    fest swing

    Fest Swing是一个强大的Java自动化测试框架,专门针对Swing GUI应用程序设计。它允许开发者通过一种声明式...通过深入理解和熟练使用这个框架,开发者可以更好地保证Swing应用的稳定性和可靠性,提高开发团队的生产力。

    tanchishe.rar_java swing

    在Java的世界里,Swing库提供了丰富的组件和功能,使得开发者能够轻松创建出具有吸引力的桌面应用程序,包括我们熟悉的贪吃蛇游戏。下面,我们将深入探讨如何利用Java Swing来实现这个经典游戏。 一、Java Swing...

    Java课程设计---java swing教师管理系统带GUi界面(源码+数据库).rar

    这个项目的核心在于其使用了Swing库来构建图形用户界面,Swing是Java Standard Edition(Java SE)的一部分,提供了丰富的组件库,使得开发者能够创建功能完备且具有吸引力的桌面应用。 在该系统中,用户可以使用两...

    Swing贪吃蛇游戏(一):基本功能实现

    游戏循环是整个游戏的驱动力,它会不断更新屏幕并检查游戏状态。这通常在一个独立的线程中进行,以避免阻塞用户界面。我们可以使用javax.swing.Timer类来定时触发游戏更新。 除此之外,我们还需要考虑游戏的状态...

    基于JavaSwing的马踏棋盘游戏源代码

    为了使游戏更具吸引力,开发者可能还应用了一些设计模式,如策略模式用于定义不同棋子的移动规则,工厂模式用于生成棋子对象,或者观察者模式来实现实时的游戏状态更新。 至于代码版本控制,开发者提到了GitHub。这...

    javase swing界面的风格包,mac版本

    通过这个Mac版本的Swing风格包,开发者能够轻松地为他们的Java Swing应用增添一份Mac OS X的特色,使得应用在Mac环境下更具有吸引力。同时,提供的源码能帮助开发者深入理解LookAndFeel的用法,以及如何自定义和调整...

    Java(Swing)拼图游戏 (无代码)

    在Swing中,开发者可以自定义组件的外观,设置布局管理器来组织组件,以及添加图标和其他视觉元素来增强游戏的吸引力。 8. **性能优化**:对于图形密集型应用,性能优化是必不可少的。开发者可能使用了缓冲区技术、...

    一个利用Java Swing实现可视化界面的扫雷小游戏.zip

    在IT领域,编程技能是核心竞争力,而游戏开发则是提升技能和创造力的良好实践。本项目“一个利用Java Swing实现可视化界面的扫雷小游戏”提供了宝贵的实战经验,特别适合进行毕业设计、课程设计或自我提升的开发者。...

    用JAVA Swing实现的2048小游戏.zip

    为了使游戏更具吸引力,他们可能还添加了一些额外的元素,比如背景音乐、音效、计分系统、高分榜等。 总之,这个项目为学习者提供了一个实际的Java Swing应用案例,让他们能深入了解如何使用Swing构建游戏,同时...

    1.0Java的连连看游戏GUL_swing_java游戏_

    Swing是Java提供的一个用于构建桌面应用程序的图形用户界面(GUI)工具包,它提供了丰富的组件和事件处理机制,使得开发者能够方便地创建出功能完备且具有吸引力的桌面应用。 【描述】"Java的连连看游戏GUL_swing" ...

    小游戏:基于Java Swing实现的FlappyBird游戏.zip

    这可以通过设置和检查全局变量来实现。 7. **分数系统**:每当小鸟成功穿过一个管道,分数就会增加。我们需要维护分数变量,并在适当的时候更新显示。 8. **时间管理**:游戏的节奏往往与时间有关,比如管道的生成...

    5、基于JavaSwing+Mysql的仓库销售管理系统.zip

    它提供了丰富的组件库,如按钮、文本框、表格等,使得开发者能够快速构建出具有视觉吸引力的交互式界面。在本仓库销售管理系统中,Swing被用来设计各种界面元素,如商品列表、库存查询、销售订单输入等,让用户可以...

    desktop-diary:Java Swing Desktop Utility 用于本地自我更新的桌面软件

    3. **本地自我更新机制**: 这是一种设计模式,允许软件检查服务器上的新版本,并在用户同意后自动下载和安装。这种机制简化了用户的升级过程,同时也方便开发者推送补丁和新功能。 4. **Java 开发工具**: 开发 Java...

    javaswing汽车租赁管理系统(详细文档+视频+源码)

    通过该系统,不仅可以帮助企业管理者更好地进行车辆调度和客户管理,还可以提升客户体验,增强企业的市场竞争力。 #### 三、系统功能模块分析 ##### 1. 用户登录与权限管理 - **登录界面**:提供用户输入账号密码...

    java swing网吧管理系统毕设论文.docx

    ### Java Swing 网吧管理系统知识点解析 #### 一、系统概述 - **系统开发的背景**:随着互联网技术的迅速发展...未来还可以在此基础上继续扩展更多实用功能,如在线支付、会员积分制度等,进一步增强系统的竞争力。

Global site tag (gtag.js) - Google Analytics