JiveJdon Community Forums
在线329人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 1 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
jdon010101

发表文章: 1
注册时间: 2006年04月06日 11:21
给他发消息
图形界面中事件处理的请教。 发表: 2006年04月06日 12:34 回复
描述:
一个JPanel,有一个文本框和一个按钮。
按钮按下,检测文本框输入的数据,如果输入值不合规,则显示一个提示对话框,并设置当前焦点为文本框。


我的想法是:
Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
检测(Object 文本框输入值) {
检测代码
if(条件) {
提示对话框
设置焦点
}
}
}
}

因为是一个匿名内部类,所以可以访问外部类的文本框等等。
但这样,不就把业务代码放到了界面中去了吗?

如果改为
public void actionPerformed(java.awt.event.ActionEvent e) {
检测类.检测方法(Object 文本框输入值)
}

那么在检测类里,如何设置文本框代码的焦点呢?要设置就需要一个这个Panel的引用,那这是不是循环引用?
(界面)按钮 -〉 匿名事件处理 -〉处理类 -〉界面反馈

事件处理机制中,这算不算是 A类引用B类,B类引用C类,C类又引用A类。像这种界面发生事件,提交给业务处理模块进行处理,最后界面又需要得到反馈的类型,有没有什么比较好的思想或模式。
学习,谢谢。
ahler2003

发表文章: 3
注册时间: 2006年04月03日 09:33
给他发消息
Re: 图形界面中事件处理的请教。 发表: 2006年04月07日 14:46 回复
〉不就把业务代码放到了界面中去了吗?

在Swing中,采用了MVC,具体的说是MVC的一种变体,
因为Swing把VC合并了,成为UI。你说的没有错,如果你把验证的代码放在事件处理中,是把业务和界面结合了。但是如果你把这部分代码放在Model中,就不是这样了。JTextField 的Model是一个Document。
这个主题有 1 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam