课程设计——小型图书管理系统中遇到的问题

在两周的课程设计中,作者构建了一个小型图书管理系统,涵盖了用户登录注册、图书借阅等多功能。在开发过程中,作者遇到了如何实现同一接口处理不同事件源、窗口自动关闭、字符转整数、substring方法理解、Calendar类的使用细节以及ListSelectionListener执行两次的问题,并给出了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为期两周的课程设计中,我选的课题是小型图书管理系统,该系统有如下功能:

用户登陆和注册、用户信息查看(个人信息,图书借阅情况,到期归还提醒,个人读书笔记管理,个人读书计划管理)

在编写程序的过程中,遇到了如下的问题:

1、两个不同的操作如何实现同一个接口

在程序中有一个键盘事件,就是判断文本框中输入日期时按照统一的格式自动添加“-”,如2012-09-09,如果只有一个文本框的话,那么简单,直接注册一个键盘事件监听器就能故解决,但是同时从在两个文本框的话,同一个键盘事件显然不能处理两个文本框的内容。

txtStartTime.addKeyListener(this);
txtEndTime.addKeyListener(this);

public void keyReleased(KeyEvent e){
			if(e.getKeyCode()!=e.VK_BACK_SPACE){
				if(txtStartTime.getText().length()==4||
						txtStartTime.getText().length()==7){
					txtStartTime.setText(txtStartTime.getText()+"-");
				}
			}
		}
		public void keyPressed(KeyEvent e){
			
		}
		public void keyTyped(KeyEvent e){
			if(txtStartTime.getText().length()>=10)
				txtStartTime.setText(txtStartTime.getText().substring(0,9));
		}
这样显然不行,当在第二个文本框中操作时,仍然更改的是第一个文本框中内容。

这时候可以利用内部类,来实现同一个接口,响应不同的事件源。

txtStartTime.addKeyListener(new Start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值