/**
* 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是Java编程语言中用于构建图形用户界面(GUI)的一个工具包,它提供了丰富的组件和功能,使得开发者能够创建出复杂且用户友好的应用...通过这样的技术,开发者可以为应用程序增添更多视觉吸引力,提升用户体验。
同时,需要注意的是,更换LookAndFeel可能会影响某些组件的行为,因此在实际应用中,测试和兼容性检查是必不可少的。 51CTO下载的这个Java Swing外观包集合,对于需要创建具有独特风格的Swing应用的开发者来说,是...
`Border`接口定义了几个方法,如`getBorderInsets()`用于获取边框的内嵌尺寸,`isOpaque()`检查边框是否不透明,以及`paintBorder()`绘制边框。 Swing提供了多种内置的边框实现,包括: 1. `EmptyBorder`: 创建一...
Swing提供了一套丰富的组件类,如JFrame(主窗口)、JLabel(标签)、JTextField(文本框)和JButton(按钮),通过这些组件,开发者可以构建出具有视觉吸引力且功能齐全的用户界面。 连接到MySQL数据库是此项目的...
在本例中,开发者可以在 NetBeans 中创建和运行服务器端和客户端程序,利用其强大的调试工具检查代码执行过程,查找并修复潜在的问题。 总的来说,通过结合 Java Socket 的网络通信功能和 Swing 的 GUI 设计,我们...
Fest Swing是一个强大的Java自动化测试框架,专门针对Swing GUI应用程序设计。它允许开发者通过一种声明式...通过深入理解和熟练使用这个框架,开发者可以更好地保证Swing应用的稳定性和可靠性,提高开发团队的生产力。
在Java的世界里,Swing库提供了丰富的组件和功能,使得开发者能够轻松创建出具有吸引力的桌面应用程序,包括我们熟悉的贪吃蛇游戏。下面,我们将深入探讨如何利用Java Swing来实现这个经典游戏。 一、Java Swing...
这个项目的核心在于其使用了Swing库来构建图形用户界面,Swing是Java Standard Edition(Java SE)的一部分,提供了丰富的组件库,使得开发者能够创建功能完备且具有吸引力的桌面应用。 在该系统中,用户可以使用两...
游戏循环是整个游戏的驱动力,它会不断更新屏幕并检查游戏状态。这通常在一个独立的线程中进行,以避免阻塞用户界面。我们可以使用javax.swing.Timer类来定时触发游戏更新。 除此之外,我们还需要考虑游戏的状态...
为了使游戏更具吸引力,开发者可能还应用了一些设计模式,如策略模式用于定义不同棋子的移动规则,工厂模式用于生成棋子对象,或者观察者模式来实现实时的游戏状态更新。 至于代码版本控制,开发者提到了GitHub。这...
通过这个Mac版本的Swing风格包,开发者能够轻松地为他们的Java Swing应用增添一份Mac OS X的特色,使得应用在Mac环境下更具有吸引力。同时,提供的源码能帮助开发者深入理解LookAndFeel的用法,以及如何自定义和调整...
在Swing中,开发者可以自定义组件的外观,设置布局管理器来组织组件,以及添加图标和其他视觉元素来增强游戏的吸引力。 8. **性能优化**:对于图形密集型应用,性能优化是必不可少的。开发者可能使用了缓冲区技术、...
在IT领域,编程技能是核心竞争力,而游戏开发则是提升技能和创造力的良好实践。本项目“一个利用Java Swing实现可视化界面的扫雷小游戏”提供了宝贵的实战经验,特别适合进行毕业设计、课程设计或自我提升的开发者。...
为了使游戏更具吸引力,他们可能还添加了一些额外的元素,比如背景音乐、音效、计分系统、高分榜等。 总之,这个项目为学习者提供了一个实际的Java Swing应用案例,让他们能深入了解如何使用Swing构建游戏,同时...
Swing是Java提供的一个用于构建桌面应用程序的图形用户界面(GUI)工具包,它提供了丰富的组件和事件处理机制,使得开发者能够方便地创建出功能完备且具有吸引力的桌面应用。 【描述】"Java的连连看游戏GUL_swing" ...
这可以通过设置和检查全局变量来实现。 7. **分数系统**:每当小鸟成功穿过一个管道,分数就会增加。我们需要维护分数变量,并在适当的时候更新显示。 8. **时间管理**:游戏的节奏往往与时间有关,比如管道的生成...
它提供了丰富的组件库,如按钮、文本框、表格等,使得开发者能够快速构建出具有视觉吸引力的交互式界面。在本仓库销售管理系统中,Swing被用来设计各种界面元素,如商品列表、库存查询、销售订单输入等,让用户可以...
3. **本地自我更新机制**: 这是一种设计模式,允许软件检查服务器上的新版本,并在用户同意后自动下载和安装。这种机制简化了用户的升级过程,同时也方便开发者推送补丁和新功能。 4. **Java 开发工具**: 开发 Java...
通过该系统,不仅可以帮助企业管理者更好地进行车辆调度和客户管理,还可以提升客户体验,增强企业的市场竞争力。 #### 三、系统功能模块分析 ##### 1. 用户登录与权限管理 - **登录界面**:提供用户输入账号密码...
### Java Swing 网吧管理系统知识点解析 #### 一、系统概述 - **系统开发的背景**:随着互联网技术的迅速发展...未来还可以在此基础上继续扩展更多实用功能,如在线支付、会员积分制度等,进一步增强系统的竞争力。